簡體   English   中英

是什么導致FuncAnimation函數被調用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM