Den Plot für Mobilgeräte optimieren
Der Titel der x-Achse ist bereits ziemlich überflüssig, weil du Labels für beide Jahre hinzugefügt hast. Jetzt fügst du Länderlabels zum Plot hinzu, sodass alle Achsen entfernt werden können.
In dieser Übung begegnest du etwas, das dir wahrscheinlich neu ist: Neue Datensätze können einzelnen Geometrien wie geom_text() übergeben werden, sodass diese Geometrien nicht den Datensatz aus dem initialen ggplot()-Aufruf verwenden. Das brauchst du hier, weil du nur ein Label pro Pfeil hinzufügen willst. Würdest du den ursprünglichen Datensatz ilo_data verwenden, würden zwei Labels hinzugefügt, da es in diesem Datensatz zwei Beobachtungen pro Land gibt – eine für 1996 und eine für 2006.
Diese Übung ist Teil des Kurses
Kommunizieren mit Daten im Tidyverse
Anleitung zur Übung
- Ein neuer Datensatz
median_working_hourswurde erstellt, damit es nur ein Label pro Land gibt. Sieh dir seine Struktur mitstr()an. - Verwende
median_working_hoursalsdata-Argument in einem neuen Aufruf vongeom_text(), um Labels für jedes Land hinzuzufügen.- Gib die benötigten Aesthetics für
geom_text()korrekt an:xundlabel, die auf die richtige Variable immedian_working_hours-Datensatz zeigen sollen.
- Gib die benötigten Aesthetics für
- Entferne alle Achsen und das Hintergrundraster, indem du die Funktion
element_blank()für alleaxis.- undpanel.grid-Argumente im benutzerdefiniertentheme()-Aufruf angibst. - Nachdem du den finalen Code ausgeführt hast, ändere die Größe des Plotfensters rechts, um einen Smartphone-Bildschirm im Hochformat zu simulieren (schmal und hoch) – alle Labels werden in den Plot-Viewport passen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Compute temporary data set for optimal label placement
median_working_hours <- ilo_data %>%
group_by(country) %>%
summarize(median_working_hours_per_country = median(working_hours)) %>%
ungroup()
# Have a look at the structure of this data set
___
ilo_dot_plot +
# Add label for country
geom_text(data = ___,
aes(y = country,
x = ___,
label = ___),
vjust = 2,
family = "Bookman",
color = "gray25") +
# Remove axes and grids
theme(
axis.ticks = ___,
axis.title = ___,
axis.text = ___,
panel.grid = ___,
# Also, let's reduce the font size of the subtitle
plot.subtitle = element_text(size = 9)
)