连续更新图matplotlib

时间:2018-08-28 17:16:53

标签: python matplotlib

我正在绘制来自两个不同文件夹的图像对,对于每对图像,我使用plt.imshow()一个接一个地绘制它们,并在每次循环后保存无花果。

为了加快速度,我想使用选项.set_data,以便仅更新图形而不重绘所有内容。由于我必须执行两次,因此似乎只使用了最后一个,而第一次调用未进行任何更新。我正在做这样的事情:

 data=np.arange(9).reshape(3,3)*10
 im1=plt.imshow([data]*4) # simulating an rgb image that i read from file
 mask=np.ma.array(np.arange(9).reshape(3,3)*10, mask=np.eye(3)) # 1D map
 im2=plt.imshow(mask, vmin=2, vmax=7)
 for i in range(10):
     data=np.arange(9).reshape(3,3)*10 + np.random.randint(0,100,size=(3,3))
     im1.set_data([data]*4) # simulating another rgb image read from file
     mask=np.ma.array(np.arange(9).reshape(3,3)*10+np.random.randint(0,100,size=(3,3)), mask=np.eye(3)) # 1D map 
     im2.set_data(mask)
     plt.savefig("{}.png".format(i))

使用此代码,仅更新遮罩,而不更新背景图像。有没有办法让matplotlib同时使用数据的两个更新?

0 个答案:

没有答案