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]#

TimedAnimation Subklasse, 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:
figFigure

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.partial oder ü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.partial bereitzustellen. 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, wenn blit == False und 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, wenn blit == False und 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.partial wird 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.

__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, ...])

new_frame_seq()

Gibt eine neue Sequenz von Frame-Informationen zurück.

new_saved_frame_seq()

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.

new_frame_seq()[Quelle]#

Gibt eine neue Sequenz von Frame-Informationen zurück.

new_saved_frame_seq()[Quelle]#

Gibt eine neue Sequenz von gespeicherten/gecachten Frame-Informationen zurück.