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 :
FeigeFigure

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.

__init__ ( fig , event_source = None , blit = False ) [source] #

Methoden

__init__(fig[, event_source, blit])

new_frame_seq()

Gibt eine neue Folge von Rahmeninformationen zurück.

new_saved_frame_seq()

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_frame_seq ( ) [Quelle] #

Gibt eine neue Folge von Rahmeninformationen zurück.

new_saved_frame_seq ( ) [Quelle] #

Gibt eine neue Sequenz gespeicherter/zwischengespeicherter Rahmeninformationen zurück.

Pause ( ) [Quelle] #

Unterbrechen Sie die Animation.

fortsetzen ( ) [Quelle] #

Setzen Sie die Animation fort.

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 MovieWriteroder str, Standard: rcParams["animation.writer"](Standard: 'ffmpeg')

Eine MovieWriterzu 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 AnimationObjekte, die in der gespeicherten Filmdatei enthalten sein sollen. Diese müssen aus derselben matplotlib.figure.FigureInstanz 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 savefigAufruf ü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 MovieWriterInstanz verwendet und können nur übergeben werden, wenn Writer ein String ist. Wenn sie als Non- None übergeben werden und der Writer ein ist MovieWriter, RuntimeErrorwird 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') und rcParams["animation.bitrate"](Standard: -1). Dabei wird auch der verwendet interval, um die Geschwindigkeit zu steuern, und der repeat 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'