matplotlib.animation.Animation#
- class matplotlib.animation.Animation(fig, event_source=None, blit=False)[Quelle]#
Eine Basisklasse für Animationen.
Diese Klasse ist nicht so verwendbar und sollte unterklassifiziert werden, um das benötigte Verhalten bereitzustellen.
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.
- event_sourceObjekt, optional
Eine Klasse, die einen Callback ausführen kann, wenn gewünschte Ereignisse generiert werden, und die gestoppt und gestartet werden kann.
Beispiele hierfür sind Timer (siehe
TimedAnimation) und Benachrichtigungen über das Dateisystem.- blitbool, Standard: False
Ob Blitting zur Optimierung des Zeichnens verwendet wird. Wenn das Backend Blitting nicht unterstützt, hat dieser Parameter keine Auswirkung.
- fig
Siehe auch
Methoden
__init__(fig[, event_source, blit])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.
- new_saved_frame_seq()[Quelle]#
Gibt eine neue Sequenz von gespeicherten/gecachten Frame-Informationen zurück.
- save(filename, writer=None, fps=None, dpi=None, codec=None, bitrate=None, extra_args=None, metadata=None, extra_anim=None, savefig_kwargs=None, *, progress_callback=None)[Quelle]#
Speichert die Animation als Videodatei, indem jeder Frame gezeichnet wird.
- Parameter:
- filenamestr
Der Ausgabename, z. B.
meinvideodatei.mp4.- writer
MovieWriteroder str, Standard:rcParams["animation.writer"](Standard:'ffmpeg') Eine
MovieWriter-Instanz zur Verwendung oder ein Schlüssel, der eine zu verwendende Klasse identifiziert, z. B. 'ffmpeg'.- fpsint, optional
Bildrate des Films (pro Sekunde). Wenn nicht gesetzt, die Bildrate aus dem Frame-Intervall der Animation.
- dpifloat, Standard:
rcParams["savefig.dpi"](Standard:'figure') Steuert die Punkte pro Zoll für die Film-Frames. Zusammen mit der Größe der Abbildung in Zoll steuert dies die Größe des Films.
- codecstr, Standard:
rcParams["animation.codec"](Standard:'h264'). Der zu verwendende Videocodec. Nicht alle Codecs werden von einem bestimmten
MovieWriterunterstützt.- bitrateint, Standard:
rcParams["animation.bitrate"](Standard:-1) Die Bitrate des Films in Kilobits pro Sekunde. Höhere Werte bedeuten höhere Qualität des Films, erhöhen aber die Dateigröße. Ein Wert von -1 überlässt die Auswahl der Bitrate dem zugrunde liegenden Movie-Encoder.
- extra_argsListe von str oder None, optional
Zusätzliche Befehlszeilenargumente, die an den zugrunde liegenden Movie-Encoder übergeben werden. Diese Argumente werden zuletzt an den Encoder übergeben, kurz vor dem Ausgabedateinamen. Der Standardwert None bedeutet,
rcParams["animation.[name-of-encoder]_args"]für die integrierten Writer zu verwenden.- metadatadict[str, str], Standard: {}
Wörterbuch von Schlüsseln und Werten für Metadaten, die in die Ausgabedatei aufgenommen werden sollen. Einige nützliche Schlüssel sind: Titel, Künstler, Genre, Thema, Urheberrecht, Quellformat, Kommentar.
- extra_animListe, Standard: []
Zusätzliche
Animation-Objekte, die in die gespeicherte Videodatei aufgenommen werden sollen. Diese müssen von derselbenFigure-Instanz stammen. Außerdem werden die Animations-Frames einfach kombiniert, sodass eine 1:1-Entsprechung zwischen den Frames der verschiedenen Animationen bestehen sollte.- savefig_kwargsdict, Standard: {}
Schlüsselwortargumente, die an jeden
savefig-Aufruf übergeben werden, der zum Speichern der einzelnen Frames verwendet wird.- progress_callbackFunktion, optional
Eine Callback-Funktion, die für jeden Frame aufgerufen wird, um den Speicherfortschritt zu melden. Sie muss die Signatur haben
def func(current_frame: int, total_frames: int) -> Any
wobei current_frame die aktuelle Frame-Nummer und total_frames die Gesamtzahl der zu speichernden Frames ist. total_frames wird auf None gesetzt, wenn die Gesamtzahl der Frames nicht ermittelt werden kann. Rückgabewerte können vorhanden sein, werden aber ignoriert.
Beispielcode zum Schreiben des Fortschritts auf stdout
progress_callback = lambda i, n: print(f'Saving frame {i}/{n}')
Anmerkungen
fps, codec, bitrate, extra_args und metadata werden zur Konstruktion einer
MovieWriter-Instanz verwendet und können nur übergeben werden, wenn writer ein String ist. Wenn sie als Nicht-None übergeben werden und writer eineMovieWriterist, wird einRuntimeErrorausgelöst.
- to_html5_video(embed_limit=None)[Quelle]#
Konvertiert die Animation in ein HTML5
<video>-Tag.Dies speichert die Animation als h264-Video, das direkt in base64-kodiert in das HTML5-Video-Tag eingebettet wird. Dies respektiert
rcParams["animation.writer"](Standard:'ffmpeg') undrcParams["animation.bitrate"](Standard:-1). Dies nutzt auch das interval zur Steuerung der Geschwindigkeit und verwendet den repeat-Parameter, um zu entscheiden, ob wiederholt werden soll.- Parameter:
- embed_limitfloat, optional
Grenzwert in MB für die zurückgegebene Animation. Es wird keine Animation erstellt, wenn die Grenze überschritten wird. Standardmäßig
rcParams["animation.embed_limit"](Standard:20.0) = 20.0.
- Gibt zurück:
- str
Ein HTML5-Video-Tag mit der Animation, eingebettet als base64-kodiertes h264-Video. Wenn die embed_limit überschritten wird, gibt dies die Zeichenfolge "Video too large to embed." zurück.
- to_jshtml(fps=None, embed_frames=True, default_mode=None)[Quelle]#
Generiert eine HTML-Darstellung der Animation.
- Parameter:
- fpsint, optional
Bildrate des Films (pro Sekunde). Wenn nicht gesetzt, die Bildrate aus dem Frame-Intervall der Animation.
- embed_framesbool, optional
- default_modestr, optional
Was geschehen soll, wenn die Animation endet. Muss eine der folgenden Optionen sein:
{'loop', 'once', 'reflect'}. Standard ist'loop', wenn der repeat-Parameter True ist, andernfalls'once'.
- Gibt zurück:
- str
Eine HTML-Darstellung der Animation, eingebettet als JS-Objekt, wie es mit dem
HTMLWritererzeugt wird.