Matplotlib动画持续时间以及为何不停止

时间:2019-07-07 07:47:07

标签: python matplotlib

matplotlib animation duration解释说,基本上FuncAnimation中的论元franes定义了它应该动画的帧的总数。但是,当我运行示例代码时,它似乎一直在运行。我预计无花果会在4秒后停止更新,但是没有。是否需要禁用某种循环?谢谢。我在Python 3.7和matplotlib 3.0.3上运行了它

import numpy as np 
from matplotlib import pyplot as plt 
from matplotlib import animation

fig = plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(-2,2))
line, = ax.plot([], [], lw=2)

# init func, plot the background of each frame. 
def init():
    line.set_data([], [])
    return line, 

def animate(i):
    x = np.linspace(0, 2, 1000)
    y = np.sin(2 * np.pi * (x - 0.01 * i))
    line.set_data(x, y)
    return line, 

anim = animation.FuncAnimation(fig, animate, init_func=init, frames=200, interval=20, blit=True)
plt.show()

2 个答案:

答案 0 :(得分:1)

您的repeat=False通话中需要FuncAnimation

请签出文档https://matplotlib.org/api/_as_gen/matplotlib.animation.FuncAnimation.html#matplotlib.animation.FuncAnimation

repeat : bool, optional

    Controls whether the animation should repeat when the sequence of frames is completed. Defaults to True.

答案 1 :(得分:0)

默认情况下,它会重复动画,但是您可以使用

FuncAnimation(... , repeat=False)

文档:FuncAniamtion