Python 如何在不重新运行脚本的情况下重置matplotlib动画

Python 如何在不重新运行脚本的情况下重置matplotlib动画,python,animation,matplotlib,figure,Python,Animation,Matplotlib,Figure,我正在使用matplotlib的FuncAnimation函数为大型数据集的一段设置动画: fig = plt.figure(figsize=(15, 11.5)) ax = fig.add_subplot(111, aspect='equal', autoscale_on=False, xlim=(x1,x2), ylim=(y1, y2)) data,=ax.plot([],[],'o') def init(): data.set_dat

我正在使用matplotlib的FuncAnimation函数为大型数据集的一段设置动画:

fig = plt.figure(figsize=(15, 11.5))
ax = fig.add_subplot(111, aspect='equal', autoscale_on=False,
                     xlim=(x1,x2), ylim=(y1, y2))

data,=ax.plot([],[],'o')

def init():
    data.set_data([],[])
    return data


def animate(t):
    global x_pos,y_pos
    data.set_data(x_pos[t],y_pos[t])
    return data

ani=animation.FuncAnimation(fig,animate,frames=duration,interval=20,
                            init_func=init,blit=True)


plt.show()
当我从头开始运行代码时,效果非常好。然而,由于这涉及到加载和预处理一个大型数据集,它需要几分钟的时间,所以我希望能够运行我的代码的一部分来进行测试和动画制作

但是,当我关闭动画并再次尝试运行它时,我只剩下一个空白图形-没有打印点,并且从未调用animate()函数(我使用print语句对此进行了测试)

我试着弄清楚情节和人物:

plt.clf()
fig.close()
plt.clear(figure)
尝试不同的数字,但结果是一样的

如何清除动画,以便在不重新运行整个脚本的情况下再次运行动画?

请尝试以下操作:

ani.frame_seq = ani.new_frame_seq() 

这在我的机器上不起作用。你可以试试这个方法:嗨,你找到解决办法了吗?