Was ist ggplot?
ggplot2
ist eines das beste Paket in R zur Erstellung von 2D-Datenvisualisierungen
Es basiert auf dem Konzept der „Grammar of Graphics“, was ein Konzept ist um Grafiken durch eine Kombination von Bausteinen zu erstellen. Damit lassen sich komplexe Visualisierungen einfach erstellen und anpassen.
Was bedeutet „Grammar of Graphics“?
„Grammar of Graphics“ (auf Deutsch „Grammatik der Grafiken“) ist das theoretische Grundgerüst, auf dem ggplot2
basiert. Nach dieser Theorie lassen sich Grafiken durch eine Reihe grundlegender Bausteine und Prinzipien systematisch zusammensetzen. Jede Grafik besteht aus sechs wesentlichen Komponenten:
- Daten – Die Rohdaten, die visualisiert werden sollen.
- Statistische Transformationen – Diese umfassen Berechnungen, wie etwa das Erstellen von Mittelwerten, Histogrammen oder Boxplots.
- Skalen – Hierbei wird festgelegt, wie die Daten auf den Achsen abgebildet werden, etwa linear oder logarithmisch.
- Koordinatensysteme – Das häufigste ist das kartesische Koordinatensystem, aber
ggplot2
unterstützt auch andere, wie zum Beispiel Polarkoordinaten. - Grafische Elemente (Geoms) – Dies sind die Grundelemente der Darstellung wie Punkte, Linien oder Balken.
- Hilfselemente (Guides) – Dazu zählen Achsen, Legenden und Gitterlinien, die Orientierung und Vergleichbarkeit erleichtern.
Bearbeitung einer Grafik in ggplot2
Die Erstellung und Bearbeitung einer Grafik in ggplot2
erfolgt in vier Schritten:
- Spezifikation – Festlegen, welche Daten und Variablen wie dargestellt werden sollen.
- Zusammensetzen – Berechnen der statistischen Transformationen und Achsen und der Hilfselemente.
- Anzeigen – Also auf dem Bildschirm oder auch in einer Datei
- Überarbeiten – Feinjustierung des Designs und Anpassung der Parameter, um die Visualisierung zu verbessern.
ggplot2
setzt dabei auf sinnvolle Voreinstellungen, sodass man für eine einfache Grafik nur drei Hauptinformationen benötigt:
- Daten: Der Datensatz, den man darstellen möchte.
- Ästhetiken (Aesthetics aes): Das Mapping, welches die Variablen den Darstellungsobjekten zuweist.
- Geometrien (Geoms, geom_): Die Darstellungsarten, wie etwa Punkte (Scatterplot), Balken (Barplot) oder Linien.
Installation und Vorbereitung
Als erstes muss ggplot2 in R installiert und geladen werden.
Alle Beispiele verwenden einen Datensatz, der ebenso als Paket installiert werden muss, nämlich das Paket palmerpenguins
.
# Installieren und Laden der Pakete install.packages("ggplot2") install.packages("palmerpenguins") library(ggplot2) library(palmerpenguins)
Erste Schritte mit ggplot2
Im folgenden Beispiel erstellen wir ein einfaches Punktdiagramm, das die Länge und Tiefe des Schnabels von Pinguinen visualisiert.
ggplot(penguins) + aes(x = bill_length_mm, y = bill_depth_mm) + geom_point(color = "firebrick")
Hier verwenden wir:
– ggplot(penguins)
, um den Datensatz festzulegen.
– aes(x = bill_length_mm, y = bill_depth_mm)
, um die Spalten aus den Daten für die x- und y-Achse festzulegen.
– geom_point(color = "firebrick")
, um die Punkte der Grafik in der Farbe „firebrick“ darzustellen.
Hinzufügen weiterer Spalten und Farben
Der Nachteil vom ersten Plot ist, dass alle Pinguine die selbe Farbe haben. Wenn man die Farbe auch auf Basis der Daten festlegen möchte kann man in der aes()
-Funktion color = species
hinzufügen, dann hängt die Farbe von der Spalte species
ab:
ggplot(penguins) + aes(x = bill_length_mm, y = bill_depth_mm, color = species) + geom_point()
Kombination von geom_-Funktionen
ggplot2
ermöglicht es, mehrere Geoms zu kombinieren. Im folgenden Beispiel kombinieren wir Punkte (geom_point()
) mit Linien (geom_line()
), um die Punkte zu verbinden:
ggplot(penguins) + aes(x = bill_length_mm, y = bill_depth_mm, color = species) + geom_point() + geom_line()
Histogramme erstellen
Ein Histogramm stellt dar wie häufig bestimmte Werte in den Daten sind. Dabei werden die Daten in sogenannte ‘bins’ zusammengefasst. Danach wird gezählt wieviele Datenpunkte pro ‘bin’ vorliegen. Dies ist eine statistische Transformation die bei geom_histogram()
in ggplot
bereits voreingestellt ist.
Dieses Beispiel zeigt die Verteilung der Schnabellängen:
ggplot(penguins) + aes(x = bill_length_mm) + geom_histogram(bins = 20)
Das Argument bins = 20
legt die Anzahl der Intervalle fest, in die die Daten unterteilt werden.
Farbige Histogramme
Wir können auch die Farbe der Histogramme basierend auf den Daten anpassen. Hierbei ist aber zu beachten, dass die Aesthetic color
bei Histogrammen nur die Rahmenfarbe ändern würde. Um die Füllfarbe der Balken zu ändern, müssen wir das Schlüsselwort fill
verwenden:
ggplot(penguins) + aes(x = bill_length_mm, fill = species) + geom_histogram(bins = 20)
Fazit
ggplot2
ist ein leistungsstarkes Tool zur Erstellung von ansprechenden und flexiblen Datenvisualisierungen in R.
Dieser Blogbeitrag zeigt den Code aus meinem Youtubetutorial: