15.4 Visualisation
15.4.1 Superscripts and subscripts
Um Zahlen an Plot labels hoch- oder tiefzustellen, bspw. Achsenbeschriftung oder Titel, kann man die Befehlen èxpressionund
paste` verwenden. Expression ermöglicht die Verwendung von Sonderzeichen und paste ermöglicht die Sonderzeichen mit normalem Text zu verknüpfen.
# Erstelle willkürlich Daten a mit vier Gruppen in b
<- tibble(
x a = rnorm(n = 100, mean = 50, sd = 2),
b = rep(x = c("a","b","c","d"), 25)
)
%>%
x ggplot(aes(a, b, group = b)) +
geom_boxplot()
# [] Tiefstellen
%>%
x ggplot(aes(a, b, group = b)) +
geom_boxplot() +
labs(
title = "Eine tolle Überschrift",
x = "Einheit (XY)",
y = expression(E[H])
)
# ^ Hochstellen
%>%
x ggplot(aes(a, b, group = b)) +
geom_boxplot() +
labs(
title = "Eine tolle Überschrift",
x = "Einheit (XY)",
y = expression(m^2)
)
# Kombination + normaler Text
%>%
x ggplot(aes(a, b, group = b)) +
geom_boxplot() +
labs(
title = "Eine tolle Überschrift",
x = "Einheit (XY)",
y = expression(paste("Ca" ^"2+", " Verteilung (g ", cm^-3, ")"))
)
# Bei langen Beschriftungen eignen sich auch Zeilenumbrüche, die mit "\n" erzeugt werden
%>%
x ggplot(aes(a, b, group = b)) +
geom_boxplot() +
labs(
title = "Eine tolle \nÜberschrift",
x = "Einheit (XY)",
y = expression(paste("Ca" ^"2+", " Verteilung (g ", cm^-3, ")"))
)
15.4.2 Modifying labels in faceted plots
🔍 https://biostats.w.uib.no/modifying-labels-in-faceted-plots/
# Darstellung des gesamten Zeitraums
%>%
koog_day filter(year > "2010" & year < "2013") %>%
ggplot(aes(daily, st10)) +
geom_line()
# Darstellen pro Jahr
<- koog_day %>%
p filter(year > "2010" & year < "2013") %>%
ggplot(aes(daily, st10)) +
geom_line() +
facet_wrap(~year, scales = "free_x")
p
Ändern der Hintegrundfarbe
+ theme(strip.background = element_rect(fill="lightblue", size=1, color="darkblue")) p
Ändern der Schriftfarbe
+ theme(strip.text.x = element_text(size=12, face="italic", color="darkblue")) p
Ändern der Beschriftung ist nicht ganz unkompliziert, da die Beschriftung von den Variablennamen der Spalten genommen wird. Möglichkeit 1 wäre, die Beschriftung im Datensatz direkt zu ändern. Möglichkeit zwei ist einen neuen Namensvektor zu erstellen und die Funktion labeller = labeller()
zu verwenden.
# Erstelle Namensvektor
<- c("2011" = "Gute Zeiten", "2012" = "Schlechte Zeiten")
new_name
# Nutze die Funktion labeller
%>%
koog_day filter(year > "2010" & year < "2013") %>%
ggplot(aes(daily, st10)) +
geom_line() +
facet_wrap(~year, scales = "free_x", labeller = labeller(year = new_name))
Auch der Abstand zwischen den Panels kann verändert werden mit theme(panel.spacing = unit())
.
# Hm....es gibt immer noch einen overlap bei der X-Achse
+ theme(panel.spacing.x = unit(.25, "cm")) p
# JA :) Besser
+ theme(panel.spacing.x = unit(1.25, "cm")) p