暂停matplotlib ArtistAnimation

时间:2016-05-11 23:26:49

标签: python animation matplotlib

根据标题,我想知道是否可以暂停matplotlib ArtistAnimation。我知道它是possible to pause when using FuncAnimation,但我不确定该方法是否可以应用于ArtistAnimation。

没有暂停的工作ArtistAnimation的一个例子是

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

fig, ax = plt.subplots()
ax.set(xlim=(0, 2*np.pi), ylim=(-1, 1))

x = np.linspace(0, 2*np.pi, 100)

ims = []  # Blank list that will contain all frames
for frame in range(50):
    line, = ax.plot(x, np.sin(x + 0.1*frame), color='k')
    # Add new element to list with everything that changes between frames
    ims.append([line])

anim = ArtistAnimation(fig, ims, interval=100)

1 个答案:

答案 0 :(得分:0)

以下不是一个完整的解决方案,但也许某种方式。它需要使用IPython。

使用问题中定义的anim,我可以输入anim._stop()来暂停动画。我也可以根据需要使用anim._step()来查看下一帧。

我不确定在这些调用之后是否可以让动画再次开始运行。