在一个脚本中显示多个图形 - matplotlib

-1 投票
1 回答
5523 浏览
提问于 2025-04-17 18:15

我正在做一个作业,需要在运行脚本时在屏幕上显示多个图像(还要保存它们)。我必须同时使用 imshow 和 show 来把图像显示出来。这种方法是可以的,但我听说 show() 在一个脚本中应该只用一次。有没有其他方法可以显示图像呢?而且我保存的图像文件都是空白的 800x600 的白色图像。以下是我的代码:

img = np.zeros((100,100))
plt.figure(0)
plt.imshow(img)
plt.show()
plt.savefig("images/img.png")
plt.close(0)

其他每个图像的写法都是一样的(当然是不同的图像名称和新的图像编号)。

谢谢!

1 个回答

1

一般来说,你用 figure() 来为每个想在屏幕上显示和保存到文件的图形创建一个新的图形对象,这种做法是没问题的,如果你就是想这样的话。

我不太确定你在这方面的具体问题是什么,所以如果你还有其他想知道的,建议你修改一下你的问题。

关于第二个问题:根据你使用的后端,show() 可能会在关闭时销毁图形中的对象,这就是为什么你通常应该先用 savefig() 保存,然后再用 show() 显示的原因。这个内容在 这里 有说明。

撰写回答