ggplot(data = d_wb_2012) +
geom_point(mapping = aes(x=gdp, y=gge, fill=region, size=pop), shape=21) +
scale_x_log10() + scale_y_log10() +
labs(x="Bruttoinlandsprodukt", y="Treibhausgasemissionen", title="Jahr 2012")
Grundlagen von ggplot2
Ein Beispiel
Zusammenhang zwischen Wirtschaftskraft und Treibhausgasemissionen im Jahr 2012
Aufbau der Anweisung
- Einen Plot mit ggplot2 erstellen
- Datensatz, der visualisiert werden soll
- Zuordnung von Merkmalen zu Eigenschaften geometrischer Objekte
- Geometrische Objekte
- Skalen (später)
- Beschriftung (später)
Was ist ggplot2?
Ursprung
- Umfangreiches Paket zur Visualisierung von Daten
- Entwickelt von Hadley Wickham (Doktorarbeit)
- Basiert auf dem Buch ‘The Grammar of Graphics’ von Leland Wilkinson
- Sehr strukturiert, aber man muss sich hineindenken
- Mit Quellcode frei verfügbar
- Eine schöne Sammlung von Beispielen gibt es hier
Genereller Aufbau einer ggplot2 Anweisung
ggplot(data = <DATA>) +
<GEOM1>(mapping = aes(<AESTHETICS>), <ARGUMENTS>) +
geom_<COORD>(<ARGUMENTS)> +
coord_facet_wrap(<ARGUMENTS>) +
<SCALE>(<ARGUMENTS>) +
scale_labs(<LABELS>) +
theme(<THEME SETTINGS>)
→ Am Ende des Semesters werden Sie das verstehen!
Datensatz für diese Folien
Daten laden und anzeigen
Daten aus Datei laden
load("daten/data-lecture.Rdata")
Dataframe anzeigen
show(d_wb_2012)
# A tibble: 170 × 7
year country pop gge gdp region ig
<int> <chr> <dbl> <dbl> <dbl> <chr> <fct>
1 2012 Afghanistan 31161376 18169. 2.00e10 South Asia Low …
2 2012 Albania 2900401 8899. 1.23e10 Europe & Central A… Uppe…
3 2012 Algeria 37383887 176471. 2.09e11 Middle East & Nort… Uppe…
4 2012 American Samoa 55667 58.8 6.44e 8 East Asia & Pacific Uppe…
5 2012 Angola 25107931 41657. 1.28e11 Sub-Saharan Africa Lowe…
6 2012 Antigua and Barbuda 90409 553. 1.21e 9 Latin America & Ca… High…
7 2012 Argentina 41733271 380295. 5.46e11 Latin America & Ca… Uppe…
8 2012 Armenia 2884229 12319. 1.06e10 Europe & Central A… Uppe…
9 2012 Australia 22733465 761686. 1.55e12 East Asia & Pacific High…
10 2012 Austria 8429991 90460. 4.09e11 Europe & Central A… High…
# ℹ 160 more rows
Inhalt von Dataframe d_wb_2012
Spalte | Deutsch | Englisch (Originaltitel) |
---|---|---|
year | Jahr | Year |
country | Land | Country |
pop | Bevölkerung | Population, total |
gge | Treibhausgasemissionen kt CO2 äquivalent | Total greenhouse gas emissions kt of CO2 equivalent |
gdp | Bruttoinlandsprodukt | GDP (current US$) |
region | Region | Region |
ig | Einkommensgruppe | Income group |
Funktionsweise von ggplot
Wie funktioniert ggplot?
ggplot(data = d_wb_2012) +
geom_point(mapping = aes(x=gdp, y=gge, fill=region, size=pop), shape=21) +
scale_x_log10() + scale_y_log10() +
labs(x="Bruttoinlandsprodukt", y="Treibhausgasemissionen", title="2012")
- Plot setzt sich aus Elementen zusammen, die mit
+
verbunden werden ggplot(...)
erzeugt leere Zeichenfläche- Dabei wird angegeben, welche Daten geplottet werden sollen
geom_point(...)
fügt Ebene (Layer) mit Punkten (geometrische Objekte) hinzu- Es gibt viele andere geometrische Objekte (Linien, Balken, Text, …)
- Das Mapping verknüpft Daten mit visuellen Eigenschaften der Objekte
- Es folgen Einstellungen für Achsen, Beschriftungen, etc.
Daten und visuelle Eigenschaften
goem_point(mapping = aes(x = A, y = B, color = C, size = D))
- Punkt hat visuelle Eigenschaften: x, y, Größe, Farbe
- Mapping legt fest, welches Merkmal auf welche visuelle Eigenschaft abgebildet wird
→ Visuelle Eigenschaften heißen in ggplot Aesthetics (AES)
Datensatz für Beispiel erstellen und anzeigen
<- tibble(
d_bsp A = c(1, 3, 2),
B = c(1, 2, 3),
C = c('u', 'v', 'u'),
D = c(5, 2, 4)
)
kable(d_bsp)
A | B | C | D |
---|---|---|---|
1 | 1 | u | 5 |
3 | 2 | v | 2 |
2 | 3 | u | 4 |
Datensatz für Beispiel Plotten
ggplot(data = d_bsp) +
geom_point(mapping = aes(x = A, y = B, color = C, size = D))
Geoms und Aesthetics
Beispiel mit Weltbankdaten
ggplot(data = d_wb_2012) +
geom_point(mapping = aes(x=gdp, y=gge, color=region, size=pop))
Beispiel mit Weltbankdaten
ggplot(data = d_wb_2012) +
geom_point(mapping = aes(x=gdp, y=gge, color=region, size=pop))
geom_point(...)
sagt, dass Punkte geplottet werden sollen- Parameter
mapping
definiert Zuordnung von Merkmalen auf visuelle Eigenschaften - Zuordnung wird mit der Funktion
aes(...)
erzeugt. Hier:- Koordinaten nach BIP (
gdp
) und Emission (gge
) - Farbe nach Region (
region
) - Größe entsprechend Bevölkerung (
pop
)
- Koordinaten nach BIP (
Beispiel mit Weltbankdaten (logarithmische Skala)
ggplot(data = d_wb_2012) +
geom_point(mapping = aes(x=gdp, y=gge, color=region, size=pop)) +
scale_x_log10() + scale_y_log10()