问题:UserWarning: Animation was deleted without rendering anything. This is most likely not intended. To prevent deletion, assign the Animation to a variable, e.g. anim, that exists until you have outputted the Animation using plt.show() or anim.save().
warnings.warn(
缘由:写了一个函数封装了一句创建动画的代码
def create_animation():
....
ani = FuncAnimation(fig, update, frames=num_frames)
....
如果接下来调用plt.show()是没问题的,
问题就出现在这样的使用
create_animation()
plt.show()
所以造成问题的原因就是很简单了,
因为create_animation()定义的临时变量 ani,在执行完create_animation()很快就被销毁了。
所以 出现警告是正常的。
这个警告已经明确告诉你了,要保存那个ani变量直到调用plt.show()或者ani.save()
解决:
首先,函数定义要返回ani
def create_animation():
....
ani = FuncAnimation(fig, update, frames=num_frames)
....
return ani
然后,这样调用
ani = create_animation()
plt.show()
这就可以了。