如何根据图片路径列表绘制3行3列网格图展示全部9张图片
3行3列网格展示本地图片的实现方案
你可以通过Python的matplotlib+Pillow库快速实现需求,操作步骤如下:
1. 提前安装依赖库
如果还没安装对应库,执行以下命令安装:
pip install matplotlib pillow
2. 完整实现代码
import matplotlib.pyplot as plt from PIL import Image # 你的图片路径列表 my_list =['test_photos\\36.jpg','test_photos\\5.jpg','test_photos\\38.jpg','test_photos\\9.jpg','test_photos\\27.jpg','test_photos\\8.jpg','test_photos\\24.jpg','test_photos\\32.jpg','test_photos\\18.jpg'] # 创建3行3列的子图画布,figsize可自定义调整整体画布大小,单位为英寸 fig, axes = plt.subplots(nrows=3, ncols=3, figsize=(9, 9)) # 将二维的子图数组展平为一维,方便遍历匹配图片路径 axes = axes.flatten() for ax, img_path in zip(axes, my_list): # 读取并展示图片 img = Image.open(img_path) ax.imshow(img) # 隐藏坐标轴,视觉效果更整洁 ax.axis('off') # 自动调整子图间距,避免内容重叠 plt.tight_layout() # 弹出展示图片网格 plt.show()
可选调整项
- 要修改整体画布大小,可以调整
plt.subplots的figsize参数数值 - 要给每个子图加标题,可以在循环内添加
ax.set_title('自定义标题') - 要调整子图之间的间距,可以把
plt.tight_layout()替换为plt.subplots_adjust(wspace=0.1, hspace=0.1),数值越小间距越窄
内容的提问来源于stack exchange,提问作者Maciej Gronczyński
相关产品推荐
相关产品推荐

