小编典典

matplotlib动画持续时间

python

下面的代码连续显示并保存随机矩阵的动画。我的问题是如何调整保存的动画的持续时间。我在这里拥有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


阅读 224

收藏
2020-12-20

共1个答案

小编典典

该文档揭示了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帧。

2020-12-20