matplotlib.animation.Animation #
- Klasse matplotlib.animation. Animation ( fig , event_source = None , blit = False ) [Quelle] #
Eine Basisklasse für Animationen.
Diese Klasse kann so wie sie ist nicht verwendet werden und sollte in Unterklassen umgewandelt werden, um das erforderliche Verhalten bereitzustellen.
Notiz
Sie müssen die erstellte Animation in einer Variablen speichern, die so lange lebt, wie die Animation laufen soll. Andernfalls wird das Animationsobjekt einer Garbage Collection unterzogen und die Animation wird angehalten.
- Parameter :
- Feige
Figure
Das figure-Objekt, das verwendet wird, um benötigte Ereignisse wie Draw oder Resize abzurufen.
- event_source- Objekt, optional
Eine Klasse, die einen Rückruf ausführen kann, wenn gewünschte Ereignisse generiert werden, sowie gestoppt und gestartet werden kann.
Beispiele sind Timer (siehe
TimedAnimation
) und Dateisystembenachrichtigungen.- blit bool, Standard: False
Ob Blitting verwendet wird, um das Zeichnen zu optimieren.
- Feige
Siehe auch
Methoden
__init__
(fig[, event_source, blit])Gibt eine neue Folge von Rahmeninformationen zurück.
Gibt eine neue Sequenz gespeicherter/zwischengespeicherter Rahmeninformationen zurück.
pause
()Unterbrechen Sie die Animation.
resume
()Setzen Sie die Animation fort.
save
(Dateiname[, Writer, fps, dpi, Codec, ...])Speichern Sie die Animation als Filmdatei, indem Sie jeden Frame zeichnen.
to_html5_video
([embed_limit])Konvertieren Sie die Animation in ein HTML5
<video>
-Tag.to_jshtml
([fps, embed_frames, default_mode])Generieren Sie eine HTML-Darstellung der Animation.
- new_saved_frame_seq ( ) [Quelle] #
Gibt eine neue Sequenz gespeicherter/zwischengespeicherter Rahmeninformationen zurück.
- save ( Dateiname , Writer = None , fps = None , dpi = None , Codec = None , Bitrate = None , extra_args = None , Metadata = None , extra_anim = None , savefig_kwargs = None , * , progress_callback = None ) [source] #
Speichern Sie die Animation als Filmdatei, indem Sie jeden Frame zeichnen.
- Parameter :
- Dateiname str
Der Ausgabedateiname, zB
mymovie.mp4
.- Writer
MovieWriter
oder str, Standard:rcParams["animation.writer"]
(Standard:'ffmpeg'
) Eine
MovieWriter
zu verwendende Instanz oder ein Schlüssel, der eine zu verwendende Klasse identifiziert, z. B. „ffmpeg“.- fps int, optional
Bildrate des Films (pro Sekunde). Wenn nicht festgelegt, die Bildrate aus dem Bildintervall der Animation.
- dpi Float, Standard:
rcParams["savefig.dpi"]
(Standard:'figure'
) Steuert die Punkte pro Zoll für die Filmbilder. Zusammen mit der Größe der Figur in Zoll steuert dies die Größe des Films.
- Codec -Str, Standard:
rcParams["animation.codec"]
(Standard:'h264'
). Der zu verwendende Video-Codec. Nicht alle Codecs werden von einem bestimmten unterstützt
MovieWriter
.- Bitrate int, Standard:
rcParams["animation.bitrate"]
(Standard:-1
) Die Bitrate des Films in Kilobit pro Sekunde. Höhere Werte bedeuten Filme in höherer Qualität, erhöhen jedoch die Dateigröße. Ein Wert von -1 lässt den zugrunde liegenden Film-Encoder die Bitrate auswählen.
- extra_args Liste von str oder None, optional
Zusätzliche Befehlszeilenargumente, die an den zugrunde liegenden Filmencoder übergeben werden. Der Standardwert „None“ bedeutet, dass er
rcParams["animation.[name-of-encoder]_args"]
für die integrierten Writer verwendet wird.- Metadaten dict[str, str], Standard: {}
Wörterbuch der Schlüssel und Werte für Metadaten, die in die Ausgabedatei aufgenommen werden sollen. Einige nützliche Schlüssel sind: Titel, Künstler, Genre, Thema, Copyright, Quelle, Kommentar.
- extra_anim- Liste, Standard: []
Zusätzliche
Animation
Objekte, die in der gespeicherten Filmdatei enthalten sein sollen. Diese müssen aus derselbenmatplotlib.figure.Figure
Instanz stammen. Außerdem werden Animationsframes einfach kombiniert, sodass zwischen den Frames der verschiedenen Animationen eine 1:1-Übereinstimmung bestehen sollte.- savefig_kwargs Diktat , Standard: {}
An jeden
savefig
Aufruf übergebene Schlüsselwortargumente zum Speichern der einzelnen Frames.- progress_callback- Funktion, optional
Eine Callback-Funktion, die für jeden Frame aufgerufen wird, um den Speicherfortschritt mitzuteilen. Es muss die Unterschrift haben
def func(current_frame: int, total_frames: int) -> Any
wobei current_frame die aktuelle Framenummer 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 in stdout:
progress_callback = lambda i, n: print(f'Saving frame {i} of {n}')
Anmerkungen
fps , codec , bitrate , extra_args und Metadaten werden zum Erstellen einer
MovieWriter
Instanz verwendet und können nur übergeben werden, wenn Writer ein String ist. Wenn sie als Non- None übergeben werden und der Writer ein istMovieWriter
,RuntimeError
wird ein ausgelöst.
- to_html5_video ( embed_limit = None ) [Quelle] #
Konvertieren Sie die Animation in ein HTML5
<video>
-Tag.Dadurch wird die Animation als h264-Video gespeichert, das in base64 direkt im HTML5-Video-Tag codiert ist. Dies berücksichtigt
rcParams["animation.writer"]
(Standard:'ffmpeg'
) undrcParams["animation.bitrate"]
(Standard:-1
). Dabei wird auch der verwendetinterval
, um die Geschwindigkeit zu steuern, und derrepeat
Parameter wird verwendet, um zu entscheiden, ob eine Schleife ausgeführt werden soll.- Parameter :
- embed_limit Float, optional
Limit der zurückgegebenen Animation in MB. Bei Überschreitung des Limits wird keine Animation erstellt. Standardmäßig
rcParams["animation.embed_limit"]
(Standard:20.0
) = 20,0.
- Rückgaben :
- Str
Ein HTML5-Video-Tag mit eingebetteter Animation als base64-codiertes h264-Video. Wenn das embed_limit überschritten wird, wird die Zeichenfolge „Video too large to embed“ zurückgegeben.
- to_jshtml ( fps = None , embed_frames = True , default_mode = None ) [Quelle] #
Generieren Sie eine HTML-Darstellung der Animation.
- Parameter :
- fps int, optional
Bildrate des Films (pro Sekunde). Wenn nicht festgelegt, die Bildrate aus dem Bildintervall der Animation.
- embed_frames bool, optional
- default_mode str, optional
Was tun, wenn die Animation endet. Muss einer von sein . Standardmäßig wenn True ist, andernfalls .
{'loop', 'once', 'reflect'}
'loop'
self.repeat
'once'