matplotlib.animation.FuncAnimation#
- class matplotlib.animation.FuncAnimation(fig, func, frames=None, init_func=None, fargs=None, save_count=None, *, cache_frame_data=True, **kwargs)[Quelle]#
TimedAnimationSubklasse, die eine Animation erstellt, indem sie wiederholt eine Funktion func aufruft.Hinweis
Sie müssen die erstellte Animation in einer Variablen speichern, die so lange lebt, wie die Animation laufen soll. Andernfalls wird das Animationsobjekt durch die Garbage Collection entfernt und die Animation stoppt.
- Parameter:
- fig
Figure Das Figure-Objekt, das verwendet wird, um benötigte Ereignisse wie Zeichnen oder Größenänderung zu erhalten.
- funcaufrufbar
Die Funktion, die bei jedem Frame aufgerufen wird. Das erste Argument ist der nächste Wert in frames. Zusätzliche Positionsargumente können über
functools.partialoder über den Parameter fargs übergeben werden.Die erforderliche Signatur ist
def func(frame, *fargs) -> iterable_of_artists
Es ist oft praktischer, die Argumente über
functools.partialbereitzustellen. Auf diese Weise können auch Schlüsselwortargumente übergeben werden. Um eine Funktion mit sowohl positions- als auch Schlüsselwortargumenten zu übergeben, setzen Sie alle Argumente als Schlüsselwortargumente und lassen Sie nur das Argument frame unbesetzt.def func(frame, art, *, y=None): ... ani = FuncAnimation(fig, partial(func, art=ln, y='foo'))
Wenn
blit == True, muss func eine Iterable aller geänderten oder erstellten Künstler zurückgeben. Diese Informationen werden vom Blitting-Algorithmus verwendet, um festzustellen, welche Teile der Abbildung aktualisiert werden müssen. Der Rückgabewert wird ignoriert, wennblit == Falseund kann in diesem Fall weggelassen werden.- framesiterable, int, generator-Funktion oder None, optional
Quelle der Daten, die an func und jeden Frame der Animation übergeben werden.
Wenn es sich um ein Iterable handelt, werden einfach die bereitgestellten Werte verwendet. Wenn das Iterable eine Länge hat, überschreibt es das Schlüsselwortargument save_count.
Wenn es sich um eine Ganzzahl handelt, ist dies äquivalent zur Übergabe von
range(frames).Wenn es sich um eine Generator-Funktion handelt, muss diese die Signatur haben
def gen_function() -> obj
Wenn None, ist dies äquivalent zur Übergabe von
itertools.count.
In all diesen Fällen werden die Werte in frames einfach an die vom Benutzer bereitgestellte func weitergegeben und können daher jeden beliebigen Typ haben.
- init_funcaufrufbar, optional
Eine Funktion, die zum Zeichnen eines leeren Frames verwendet wird. Wenn nicht angegeben, werden die Ergebnisse des Zeichnens vom ersten Element der Frames-Sequenz verwendet. Diese Funktion wird einmal vor dem ersten Frame aufgerufen.
Die erforderliche Signatur ist
def init_func() -> iterable_of_artists
Wenn
blit == True, muss init_func ein Iterable von Künstlern zurückgeben, die neu gezeichnet werden müssen. Diese Informationen werden vom Blitting-Algorithmus verwendet, um festzustellen, welche Teile der Abbildung aktualisiert werden müssen. Der Rückgabewert wird ignoriert, wennblit == Falseund kann in diesem Fall weggelassen werden.- fargsTupel oder None, optional
Zusätzliche Argumente, die bei jedem Aufruf von func übergeben werden. Hinweis: Die Verwendung von
functools.partialwird gegenüber fargs bevorzugt. Siehe func für Details.- save_countint, optional
Fallback für die Anzahl der aus frames zu cachenden Werte. Dies wird nur verwendet, wenn die Anzahl der Frames nicht aus frames abgeleitet werden kann, d. h. wenn es sich um einen Iterator ohne Länge oder einen Generator handelt.
- intervalint, Standard: 200
Verzögerung zwischen den Frames in Millisekunden.
- repeat_delayint, Standard: 0
Die Verzögerung in Millisekunden zwischen aufeinanderfolgenden Animationsdurchläufen, wenn repeat True ist.
- repeatbool, Standard: True
Ob die Animation wiederholt wird, wenn die Sequenz der Frames abgeschlossen ist.
- blitbool, Standard: False
Ob Blitting zur Optimierung des Zeichnens verwendet wird. Hinweis: Bei Verwendung von Blitting werden alle animierten Künstler gemäß ihrer zorder gezeichnet; sie werden jedoch über allen vorherigen Künstlern gezeichnet, unabhängig von ihrer zorder.
- cache_frame_databool, Standard: True
Ob Frame-Daten gecacht werden. Das Deaktivieren des Caches kann hilfreich sein, wenn Frames große Objekte enthalten.
- fig
- __init__(fig, func, frames=None, init_func=None, fargs=None, save_count=None, *, cache_frame_data=True, **kwargs)[Quelle]#
Methoden
__init__(fig, func[, frames, init_func, ...])Gibt eine neue Sequenz von Frame-Informationen zurück.
Gibt eine neue Sequenz von gespeicherten/gecachten Frame-Informationen zurück.
pause()Pausiert die Animation.
resume()Setzt die Animation fort.
save(filename[, writer, fps, dpi, codec, ...])Speichert die Animation als Videodatei, indem jeder Frame gezeichnet wird.
to_html5_video([embed_limit])Konvertiert die Animation in ein HTML5
<video>-Tag.to_jshtml([fps, embed_frames, default_mode])Generiert eine HTML-Darstellung der Animation.