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 datadef animate(t): global x_pos,y_pos data.set_data(x_pos[t],y_pos[t]) return dataani=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()总结
以上是内存溢出为你收集整理的如何重置matplotlib动画而不重新运行脚本全部内容,希望文章能够帮你解决如何重置matplotlib动画而不重新运行脚本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)