matplotlib funcanimation保存问题

2024-06-01 21:51:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近尝试了一些使用matplotlib动画的动画。它进行得很好,我创建了一个ffmpeg编写器并将其保存为一个视频文件。但是,每当FuncAnimation调用的函数返回多个对象时,我都会遇到一个问题。在

下面是我的代码库的一小部分。当我同时返回im0和im1时,创建的视频文件只有im1,尽管表演命令按预期工作(同时显示两个视频)。如果我只返回一个im0,那么它可以正常工作。如果我同时返回im0和im1,alpha=0.5,它也能正常工作。在

有人能解释一下引擎盖下面发生了什么吗?在

fig, ax = plt.subplots(1)
def animate(i):
    im0=ax.imshow(np.ma.masked_array(imgl[i][:,:,0], mask=get_blob(i)),cmap='cubehelix')

    im1=ax.imshow(imgl[(i-100)%len(imgl)][:,:,0],cmap='cubehelix')

    return [im1,im0]



ani = animation.FuncAnimation(fig, animate, frames=200,
                              interval=10, blit=True,repeat=False)
ani.save('ps.mp4', writer=writer)
plt.show()

Tags: fig动画pltaxwritercmap视频文件im0