LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Ein neuer Datensatz median_working_hours wurde erstellt, damit es nur ein Label pro Land gibt. Sieh dir seine Struktur mit str() an.
  • Verwende median_working_hours als data-Argument in einem neuen Aufruf von geom_text(), um Labels für jedes Land hinzuzufügen.
    • Gib die benötigten Aesthetics für geom_text() korrekt an: x und label, die auf die richtige Variable im median_working_hours-Datensatz zeigen sollen.
  • Entferne alle Achsen und das Hintergrundraster, indem du die Funktion element_blank() für alle axis.- und panel.grid-Argumente im benutzerdefinierten theme()-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)
  )
Code bearbeiten und ausführen