下面的代码连续显示并保存随机矩阵的动画。我的问题是如何调整保存的动画的持续时间。我在这里拥有fps和dpi的唯一参数首先控制帧剩余多少秒,其次控制图像质量。 我想要的是 根据矩阵实际存储 的帧数来实际控制要保存的帧数 。
import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation fig = plt.figure() N = 5 A = np.random.rand(N,N) im = plt.imshow(A) def updatefig(*args): im.set_array(np.random.rand(N,N)) return im, ani = animation.FuncAnimation(fig, updatefig, interval=200, blit=True) ani.save('try_animation.mp4', fps=10, dpi=80) #Frame per second controls speed, dpi controls the quality plt.show()
我想知道是否应该添加更多参数。我试图在matplotlib的类文档中寻找合适的文件,但未成功:
http://matplotlib.org/api/animation_api.html#module- matplotlib.animation
该文档揭示了FuncAnimation接受一个参数frames,该参数控制播放的帧总数。您的代码因此可以读取
FuncAnimation
frames
import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation fig = plt.figure() N = 5 A = np.random.rand(N,N) im = plt.imshow(A) def updatefig(*args): im.set_array(np.random.rand(N,N)) return im, ani = animation.FuncAnimation(fig, updatefig, frames=10, interval=200, blit=True) ani.save('try_animation.mp4', fps=10, dpi=80) #Frame per second controls speed, dpi controls the quality plt.show()
播放10帧。