[英]What causes the FuncAnimation func to be called?
我有一個對象A
實例化的對象B
,和對象B
在其構造不
self.ani = animation.FuncAnimation(
self.figure, func=self.gen_data, fargs=[self.data_dict],
blit=True, repeat=False)
但是, self.gen_method
永遠不會被調用。 我該怎么做以確保不是這種情況?
我最終要做的是將上面的代碼放入對象A
觸發的回調中,然后在對象B
上調用refresh()
方法,但我不想繼續重建動畫。 應該只構造一次,但是如何構造呢?
那么解決方案是什么,如何確保定期調用func
?
下面是一個最小的,完整的,並且可驗證例如使用完全相同的代碼和工作得很好:
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
class A():
def __init__(self):
self.b = B()
class B():
def __init__(self):
self.figure = plt.figure()
plt.axis((0,1,0,1))
self.l1, = plt.plot([],[], color="r")
self.data_dict = np.random.rand(40,10)
self.ani = animation.FuncAnimation(
self.figure, func=self.gen_data, fargs=[self.data_dict],
blit=True, repeat=False)
def gen_data(self, _, data):
self.l1.set_data(np.linspace(0,1,10), data[_%40,:])
return self.l1,
a = A()
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.