由于数据绘制,有些数据散点图的显示效果不是很好,为了方便对比和观察,我就想要将这些图片进行拼接。
我的图片放置在3个不同的文件夹下,每个文件夹里面有着17张图片。
#保存图片//#融合图片
from PIL import Image
width = 394 *3
height = 275 *17
# 创建一个2x3大小的空白图片
result_image = Image.new('RGB', (width, height))
images=[]
# 分别打开十七张图片
for i in range(17):
image_path = f"D:\\Dasan\\shujuwajue\\三峡文件数据分析\\三峡库区作物结构\\比例和ACC\\Figure 2024-03-25 214059 ({i}).png"
imagei = Image.open(image_path)
images.append(imagei)
images1=[]
# 分别打开十七张图片
for i in range(17):
image_path = f"D:\\Dasan\\shujuwajue\\三峡文件数据分析\\三峡库区作物结构\\比例和NH3_N2O\\Figure 2024-03-26 192412 ({i}).png"
imagei = Image.open(image_path)
images1.append(imagei)
images2=[]
# 分别打开十七张图片
for i in range(17):
image_path = f"D:\\Dasan\\shujuwajue\\三峡文件数据分析\\三峡库区作物结构\\比例和runoff_erosion_leaching\\Figure 2024-03-26 193448 ({i}).png"
imagei = Image.open(image_path)
images2.append(imagei)
# 设置新的宽度和高度
new_width = images[0].width
new_height = images[0].height
# 修改图片的大小
# 调整 images 中的图像大小
for i in range(1, 17):
images[i] = images[i].resize((new_width, new_height))
# 调整 images1 中的图像大小
for i in range(0, 17):
images1[i] = images1[i].resize((new_width, new_height))
# 调整 images2 中的图像大小
for i in range(0, 17):
images2[i] = images2[i].resize((new_width, new_height))
# 将三组十七张图片按照顺序粘贴到结果图片上
for i in range(17):
result_image.paste(images[i], (0, i * new_height))
result_image.paste(images1[i], (new_width, i * new_height))
result_image.paste(images2[i], (2 * new_width, i * new_height))
# 保存结果图片
result_image.save(r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\result_image1.jpg")