2015-04-06 55 views
0

我有大量的数字,我想为循环的每一步保存它。其实这下面第2个数字:Python - 循环与图保存matplotlib

plt.subplots_adjust(hspace=0.5) 
plt.subplot(121) 
plt.imshow(U2[40,:,:],cmap=cm.hot);plt.colorbar() 

plt.subplot(122) 
plt.imshow(V2[60,:,:],cmap=cm.hot);plt.colorbar() 
plt.show() 

我的问题是如何能够通过我在每一步FIG1更改名称,保存fig2为例?我可以使用imsave吗?

+2

是的,你可以。使用不同的字符串作为文件名,只需尝试一下。 –

回答

2

您将用plt.savefig()替换plt.show()并使用格式字符串(以确保该数字用零填充到相同的长度)。当使用ffmpeg(或类似的)制作png文件的视频时,这会让生活变得更加轻松。此外,值得添加一个小小的停顿以确保图形被重新绘制。对于你的情况,这看起来像

plt.subplots_adjust(hspace=0.5) 
plt.subplot(121) 
plt.imshow(U2[40,:,:],cmap=cm.hot);plt.colorbar() 

plt.subplot(122) 
plt.imshow(V2[60,:,:],cmap=cm.hot);plt.colorbar() 

plt.pause(0.0001) 
plt.savefig('./U2V2.{0:07d}.png'.format(step)) 

其中step是当前步号。您还应该考虑对每个数字(而不是步长)使用连续数字,每次数字生成时只会更改一个数字(再次使视频生成更容易)。