首页 > 解决方案 > matplotlib:保存子图轴数组而不显示图形

问题描述

我正在尝试使用matplotlib.pyplot.subplots. 我面临的问题是数字在保存后显示,这会阻塞内存并使程序崩溃。我不希望显示子图,只保存。我怀疑这是由于调用Axes.imshowAxes对象,但我不知道如何将图像添加到子图中。我查看了文档pyplotAxes课程,但没有找到解决方案。

https://matplotlib.org/api/pyplot_api.html

https://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes

这是我的代码中的一个相关片段。当我调用该函数时save_images,会显示该图形。

# imgs is a numpy array of images

def save_images(folder, name, imgs, grid_size=3):
    f, axarr = plt.subplots(grid_size, grid_size, figsize=(15,15))
    for i in range(grid_size):
        for j in range(grid_size):
            axarr[i,j].imshow(imgs[i*grid_size + j]
    name_path = os.path.join(folder, name)
    plt.savefig(name_path)

同样,问题是在保存后显示子图,这会使程序在 20 个数字后崩溃(因此显示 20 个数字)。我只想保存这些数字。

标签: pythonmatplotlib

解决方案


推荐阅读