Matplotlib.animation.FuncAnimation迭代列表一次

时间:2017-05-30 22:18:08

标签: python matplotlib

目前,我正在使用待分析的表面,4000个40x40帧。从机械上讲,它是一个4000帧的列表,它是40行的列表,是40个数据点的列表。

我正在使用funcanimation来查看它是如何随时间变化的,但我遇到了一个问题。基本上在这一点上我有两个问题:

1)如何一次遍历帧,最终用于保存?

2)如果我试图退出动画,为什么我当前的代码会给我一个旋转的沙滩球?

class Foo extends React.Component {

1 个答案:

答案 0 :(得分:0)

您可以在开始动画之前通过循环框架来保存图形。

def updatefig(i):
    im.set_array(testClass.surfaceList[i])

for i in range(4000):
    updatefig(i)
    plt.savefig("frame{}.png".format(i))

ani = animation.FuncAnimation(fig, updatefig, frames=4000, interval=0.5, repeat=False)
plt.show()

您还可以使用动画来保存数字

def updatefig(i):
    im.set_array(testClass.surfaceList[i])

ani = animation.FuncAnimation(fig, updatefig, frames=4000, interval=0.5, repeat=False)
ani.save("frames.png", writer="imagemagick")
plt.show()

第二种方法仅适用于png图像,需要安装imagemagick。