有谁知道停止FuncAnimation的首选方法?我用它来记录示波器的数据,并希望能够按需暂停和重启数据。有什么方法可以发送按钮点击事件吗?
谢谢,德里克
答案 0 :(得分:6)
FuncAnimation
是TimedAnimation
的子类。它将帧作为更新函数的输入,可以是数字或生成器。它需要repeat
作为参数,继承自TimedAnimation
,通过将reapeat
设置为False
,您可以停止动画重复播放。
与FuncAnimation
类似,它还需要fargs
作为update
函数的额外参数,但在其文档中,它并未说明fargs
的类型。事实上,我在源代码中找到了fargs is used as a list
。
答案 1 :(得分:2)
可能有一些模块,但我定义了自己的暂停功能。它通过点击图上的某个位置冻结动画。再次单击时,它将继续绘制动画。
您必须在动画开始前定义一个标志。在动画功能(绘制动画期间将调用的功能)中,您必须定义一个控制块,如:if not pause:
,然后编写代码以绘制下面的函数。
您可能已经检查过,但this page举例说明了我的意思。我想,很多人都是这样做的。
请注意,暂停开关使用以下功能完成:
def onClick(event):
global pause
pause ^= True
在调用FuncAnimation
之前,你必须在某个地方进一步添加这一行fig.canvas.mpl_connect('button_press_event', onClick)