Das R-Paket “gganimate” ist eine Erweiterung des beliebten R-Pakets “ggplot2”, mit dem animierte Grafiken und Diagramme in R erstellt werden können. Das Paket enthält eine Sammlung von Funktionen und Werkzeugen zur Erstellung verschiedener Arten von Animationen, wie z.B. Balkendiagramme, Flächendiagramme, Punktdiagramme und Liniendiagramme.
Um eine animierte Grafik zu erstellen, müssen Sie zuerst eine ggplot2-Grafik erstellen und diese dann mit einer Animationsfunktion und Parametern versehen, um die Animation zu steuern.
Diese Funktion nimmt ein Gganim-Objekt und rendert es in eine Animation.
animate(plot, …)
animate-Parameter
plot, x: A gganim Objekt
nframes: Die Anzahl der zu rendernden Frames
fps: Die Framerate (frames/sec)
duration: Die Länge der Animation in Sekunden
animate-Parameter
detail: Die Anzahl der zusätzlichen Frames pro Frame
renderer: Die Funktion bestimmt wie die Grafiken gerendert werden sollen
animate-Parameter
device: Bestimmt das Format der Einzelframes. Möglich sind ‘png’, ‘ragg_png’ (ragg package), ‘jpeg’, ‘tiff’, ‘bmp’, ‘svg’, and ‘svglite’ (svglite package). (Standard -> ‘png’)
ref_frame: Der Frame der für die Festlegung der Dimensionen des Plots verwendet wird, z. B. der verfügbare Platz für einen Achsen-Text.
Diese Funktion ist analog zu ggplot2::ggsave() definiert, da sie standardmäßig die zuletzt erstellte Animation nimmt und sie an einem bestimmten Ort speichert. Da gganimate beliebige Renderer unterstützt, und somit auch Rückgabetypen unterstützt, muss das zurückgegebene Objekt eine save_animation-Methode implementieren.
animation: Das zu speichernde Animationsobjekt, das von animate() zurückgegeben wird. Standardmäßig wird die letzte gerenderte Animation unter Verwendung von last_animation() verwendet.
path: Pfad des Verzeichnisses, in dem der Plot gespeichert werden soll: Pfad und Dateiname werden kombiniert, um den den voll qualifizierten Dateinamen. Standardmäßig wird das Arbeitsverzeichnis verwendet.
ease_aes
“easing” oder “tweening” bezieht sich auf die Interpolation von Animationen, um sie reibungsloser und realistischer zu gestalten. “gganimate” unterstützt mehrere Easing-Funktionen.
ease_aes(default = “linear”, …)
Easing-Funktionen
Folgende Easing-Funktionen sind in “gganimate” verfügbar:
linear: Dies ist die Standard-Easing-Funktion und bewegt Objekte mit einer konstanten Geschwindigkeit durch den Bildschirm.
quadratic: Dies ist eine Easing-Funktion, die Objekte am Anfang langsam starten lässt und dann beschleunigt.
cubic: Dies ist eine Easing-Funktion, die Objekte am Anfang sehr langsam starten lässt, dann beschleunigt und am Ende wieder verlangsamt.
Easing-Funktionen
quartic: Dies ist eine Easing-Funktion, die Objekte am Anfang sehr langsam starten lässt, dann beschleunigt, am Höhepunkt abrupt bremst und am Ende wieder verlangsamt.
quintic: Dies ist eine Easing-Funktion, die Objekte am Anfang sehr langsam starten lässt, dann beschleunigt, am Höhepunkt abrupt bremst und dann wieder beschleunigt.
sine: Dies ist eine Easing-Funktion, die Objekte in einer sinusförmigen Bewegung bewegt und ihnen damit eine natürlichere Bewegung verleiht.
Easing-Funktionen
exponential: Dies ist eine Easing-Funktion, die Objekte exponentiell beschleunigt, um ein Gefühl von zunehmender Geschwindigkeit zu vermitteln.
elastic: Dies ist eine Easing-Funktion, die Objekte mit einer elastischen Bewegung bewegt, die sich an das Ende der Bewegung anlehnt, um eine natürlichere Bewegung zu erzeugen.
back: Diese Easing-Funktion bewegt Objekte mit einer zurückprallenden Bewegung, ähnlich wie ein Ball, der auf den Boden fällt.
bounce: Diese Easing-Funktion bewegt Objekte mit einer hüpfenden Bewegung, ähnlich wie ein Ball, der auf den Boden fällt und mehrmals aufprallt, bevor er zur Ruhe kommt.
Easing-Modifikatoren:
in: Die Funktion wird so angewendet, wie sie ist.
out Die Funktion wird in umgekehrter Richtung angewandt
in-out: In der ersten Hälfte des Übergangs wird die Funktion unverändert angewandt, in der letzten Hälfte wird sie umgekehrt
Definieren Sie, wie sich eingehende und ausgehende Daten verhalten.
frame_vars
Diese Funktion extrahiert die Metadaten, die während des Renderings zu jedem Frame erzeugt zerden. Sie entspricht den Informationen, die den Beschriftungen für die Interpretation von Zeichenketten zur Verfügung stehen, und ist daher abhängig vom Übergang und der für die Animation verwendeten Ansicht.
frame_vars(animation = last_animation())
renderers
Der Zweck der Renderer-Funktion ist es, eine Liste von Bilddateien entgegenzunehmen und sie zu einer Animation zusammenzusetzen. gganimate stellt eine Reihe von Renderern zur Verfügung, aber es ist auch möglich, eigene Renderer zu erstellen, falls die die mitgelieferten Renderer in irgendeiner Weise unzureichend sind.
renderers
gifski: Dies ist der Standard-Renderer in “gganimate”. Es erstellt animierte GIF-Dateien.
av: Dieser Renderer verwendet die “av”-Bibliothek, um animierte Videos in verschiedenen Formaten wie MP4, WebM und GIF zu erstellen..
magick: Dieser Renderer verwendet die “Magick”-Bibliothek, um animierte GIF-Dateien zu erstellen.
renderers
ffmpeg: Dieser Renderer verwendet die “ffmpeg”-Bibliothek, um animierte Videos in verschiedenen Formaten zu erstellen, einschließlich MP4, WebM und GIF.
sprite: Setzt magick voraus und rendert die Animation in ein Spritesheet.
file: Hat keine Abhängigkeiten und erstellt die Animation einfach als eine Liste von Bilddateiens
Manchmal ist es von Interesse, eine Animation in kleinere Teile aufzuteilen, damit sie orchestriert werden kann, z.B. in einer Präsentation.
split_animation(animation = last_animation(), by)
transition_components
Dieser Übergang ermöglicht es den einzelnen visuellen Komponenten, ihren eigenen “Lebenszyklus” zu definieren. D
transition_components(time, …)
transition_events
Dieser Übergang behandelt jedes visuelle Element als ein zeitliches Ereignis und ermöglicht es Ihnen, die Dauer und die Länge des Eintritts/Austritts für jedes Ereignis individuell zu steuern.
transition_events( start, end = NULL, range = NULL, enter_length = NULL, exit_length = NULL )