Ich habe ein Objekt A
, die ein Objekt B
, und ein Objekt B
in seinem Konstruktor aufgerufen wirdWodurch wird die FuncAnimation-Funktion aufgerufen?
self.ani = animation.FuncAnimation(
self.figure, func=self.gen_data, fargs=[self.data_dict],
blit=True, repeat=False)
jedoch die self.gen_method
wird nie instanziiert. Was tue ich, um sicherzustellen, dass dies nicht der Fall ist?
Was ich am Ende tut, den obigen Code in einem Rückruf setzen, die A
in Objekt ausgelöst wird, die dann ruft eine refresh()
Methode auf Objekt B
, aber ich will nicht, um die Animation zu rekonstruieren halten. Es sollte einen Weg geben, es nur einmal zu konstruieren, aber wie?
Also was ist die Lösung, wie stelle ich sicher, dass die func
regelmäßig aufgerufen wird? Hier
wo ist dein 'self.gen_method' ?? – Ding
Es dauert ein Dictionary von Daten, self.data_dict, und erstellt Diagramme auf der Figur. Seine Signatur ist def gen_data (self, _, data_dict). Das _ steht für den Index des Frames, der nicht verwendet, sondern standardmäßig von FuncAnimation als Argument übergeben wird. –
Alles was man sagen kann ist, dass FuncAnimation korrekt aufgebaut ist. Möglicherweise möchten Sie die Anzahl der Frames oder einen Generator als das Argument Frames hinzufügen, z. 'frames = 40', aber wenn das notwendig ist, würde dies von der gen_data Methode abhängen. – ImportanceOfBeingErnest