我有很多数字我希望为循环的每一步保存它。实际上有2个数字如下:
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()
我的问题是如何通过更改每一步的名称来节省,如图1,图2所示?我可以使用imsave吗?
答案 0 :(得分: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是当前步骤编号。您还应该考虑为每个图形使用一个序列号(而不是步骤),每次生成一个图形时只会改变一个(再次使视频生成更容易)。