# 图片文字的正确显示
# 图片中负号的正确显示
# 图片的不同方式的拼接
此方法一可以解决负号显示问题,方法二仅可以将中文汉字的显示问题解决。
#更改字体方法一
# 设置西文字体为新罗马字体
from matplotlib import rcParams
config = {
"font.family":'SimHei', # 设置字体类型
"axes.unicode_minus": False #解决负号无法显示的问题
}
rcParams.update(config)
# 更改字体方法二
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
将17份图片按照列展示出来,第一列为images,第二列为images1,第三列为images2,最终生成一份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")
在同一个文件夹下的三张图片的拼接//我通常是将其生成的三个小的图片将其放置到一起,形成横坐标一致,纵坐标不同的一张图片,一行三列
#保存图片//#融合图片 #同一个文件夹下的三张图片的拼接
from PIL import Image
width = 389 *3
height = 260
# 创建一个1x3大小的空白图片
result_image = Image.new('RGB', (width, height))
images=[]
# 分别打开三张图片
for i in range(3):
image_path = f"D:\\Dasan\\shujuwajue\\三峡文件数据分析\\三峡库区作物结构\\拟合曲线\\rapeseed\\Figure 2024-03-29 153346 ({i}).png"
imagei = Image.open(image_path)
images.append(imagei)
# 设置新的宽度和高度
new_width = images[0].width
new_height = images[0].height
# 修改图片的大小
# 调整 images 中的图像大小
for i in range(1, 3):
images[i] = images[i].resize((new_width, new_height))
result_image.paste(images[0], (0, 0))
result_image.paste(images[1], (new_width, 0))
result_image.paste(images[2], (2 * new_width, 0))
# 保存结果图片
result_image.save(r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\拟合曲线\rapeseed\result_image1.jpg")
三个文件夹下的三张图片的拼接,我通常是将上面代码生成的三个图片的一张集合图片进行拼接,最终生成一个3行3列的矩阵图片
#保存图片//#融合图片 #三个文件夹下的三张图片的拼接
from PIL import Image
width = 1167
height = 260 *3
# 创建一个1x3大小的空白图片
result_image = Image.new('RGB', (width, height))
images=[]
# 分别打开三张图片
image_path1 = r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\拟合曲线\rice\result_image1.jpg"
image_path2 = r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\拟合曲线\maize\result_image1.jpg"
image_path3 = r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\拟合曲线\rapeseed\result_image1.jpg"
imagei1 = Image.open(image_path1)
imagei2 = Image.open(image_path2)
imagei3 = Image.open(image_path3)
images.append(imagei1)
images.append(imagei2)
images.append(imagei3)
# 设置新的宽度和高度
new_width = images[0].width
new_height = images[0].height
# 修改图片的大小
# 调整 images 中的图像大小
for i in range(1, 3):
images[i] = images[i].resize((new_width, new_height))
result_image.paste(images[0], (0, 0))
result_image.paste(images[1], (0, new_height))
result_image.paste(images[2], (0, 2* new_height))
# 保存结果图片
result_image.save(r"D:\Dasan\shujuwajue\三峡文件数据分析\三峡库区作物结构\拟合曲线\result_image2.jpg")
或许之后还会更新,或者会发布新的文章来补充说明