【发布时间】:2013-03-07 10:50:08
【问题描述】:
我正在处理一项任务,其中需要在脚本运行时在屏幕上显示多个图形(并保存它们)。我必须同时使用 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)
每个其他图形都遵循相同的语法(显然具有不同的图像名称和新的图形编号。
谢谢!
【问题讨论】:
-
我通过将 savefig 放在 show 命令之前解决了空白图像问题。仍然不确定这是编码我所追求的最有效的方法吗?
-
关于效率:什么意思?一生中只有一次的代码尽可能快地运行对您来说很重要吗?一般来说,绘图应该在几秒钟内发生,如果它是一秒钟或五秒钟,它应该不重要。如果您认为自己有“效率”问题,请展示实际代码并描述您的观察结果。
-
仍然不清楚您是否还有实际问题。
-
我已经读过 show() 应该只在脚本的最后使用一次。有没有其他方法可以让图像多次显示在图中?还是我应该坚持“如果它没有坏,就不要修复它”?
-
对您来说,这可能看起来并不明显,但代码示例应该很容易被其他人执行并重现问题。如果没有具体问题,那么至少包括您可能认为有问题的部分。现在好了。但是您可能会意识到,您来到这里时并不真正知道您的问题是什么。
标签: python image matplotlib figure