绘制几个图中的图片列表

时间:2013-09-04 09:31:27

标签: python matplotlib plot

我有一个带有图片路径的列表,我想在几个图中“绘制”它们,例如:

list = [['./path1/pic1.jpg','./path1/pic2.jpg',...],['./path2/pic1.jpg',...],[...]]

输出必须是这样的3个图,其中包含列表中的图片

我试过这种方式,但似乎不对,因为我得到了这个错误

    fig, ax = plt.subplots(len(list))
    for image in list:
        im = Image.open(image)
        ax.imshow(im)


AttributeError: 'numpy.ndarray' object has no attribute 'imshow'

我也试过了im = mpimg.imread(image),它给了我相同的结果和ax.imshow(image)没有任何“开放”

也许有人知道怎么做......

1 个答案:

答案 0 :(得分:4)

subplots函数返回ndarray个轴。它的长度将与您创建的子图的数量相同。因此,您必须将其编入索引并在右侧显示图像。

images = [...]
fig, axes = plt.subplots(len(images))
for i, image in enumerate(images):
    im = Image.open(image)
    axes[i].imshow(im)