超级简单的问题,但我已经坚持了太长时间,并没有找到任何帮助。
使用以下代码生成一个我可以在spyder中看到的图像,但是当我调用保存功能时,它会保存一个空的(全白色)图像。
x,y = np.meshgrid(xs, ys)
z = np.array(zs)
fig = plt.figure(figsize=(2,8))
plt.pcolormesh(x, y, z.T, cmap='RdYlGn')
plt.colorbar()
plt.show()
plt.savefig('test.png')
这是我在IDE中看到的:
这是保存的内容:
答案 0 :(得分:2)
您需要在显示之前保存图像。而不是
plt.savefig('test.png')
plt.show()
你需要
plt.show()
原因是在plt.show()
fig.savefig('test.png')
显示图之后,图形将从当前的pyplot状态中删除,这样保存的是没有任何内容的新图形。
然而,这个数字本身仍然存在。因此,如果您有一个数字句柄,您可能实际上使用它来保存图形后显示。因此以下工作:
{{1}}