2017-08-15 62 views
0

超级简单的问题,但我一直坚持它太久,还没有找到任何帮助。如何从matplotlib保存pcolormesh图像

使用下面的代码我生成一个图像,我可以在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中看到:

enter image description here

这是获取保存:

enter image description here

+0

其实我很确定这个问题有重复的地方,但我找不到它。也许别人可以。 – ImportanceOfBeingErnest

回答

1

你需要显示它之前保存的图像。取而代之的

plt.show() 
plt.savefig('test.png') 

你需要

plt.savefig('test.png') 
plt.show() 

的原因是由plt.show()显示的情节后面的数字将从当前pyplot状态下去除,使得内容被保存,是一种新的数字没有任何内容。

但是,这个数字本身仍然存在。所以,如果你有一个数字处理,你可能实际上使用它来保存数字后显示。因此,以下作品:

plt.show() 
fig.savefig('test.png')