Kom igångKom igång gratis

Optimera diagrammet för mobila enheter

Rubriken på x-axeln är redan ganska överflödig eftersom du har lagt till etiketter för båda åren. Nu ska du lägga till landetiketter i diagrammet, så att alla axlar kan tas bort.

I den här övningen stöter du på något som förmodligen är nytt för dig: Nya datamängder kan ges till enskilda geometrier som geom_text(), vilket innebär att dessa geometrier inte använder den datamängd som angavs i det inledande ggplot()-anropet. Det behöver du här eftersom du bara vill lägga till en etikett per pil. Om du använde den ursprungliga datamängden ilo_data skulle två etiketter läggas till per land, eftersom det finns två observationer för varje land – en för 1996 och en för 2006.

Den här övningen är en del av kursen

Kommunicera med data i Tidyverse

Visa kurs

Övningsinstruktioner

  • En ny datamängd, median_working_hours, har skapats så att det bara finns en etikett per land. Titta på dess struktur med str().
  • Använd median_working_hours som data-argument i ett nytt geom_text()-anrop för att lägga till etiketter för varje land.
    • Ange rätt estetik för geom_text(): x och label, som ska peka på rätt variabel i datamängden median_working_hours.
  • Ta bort alla axlar och bakgrundsgallret genom att ange funktionen element_blank() för alla axis.- och panel.grid-argument i det anpassade theme()-anropet.
  • Ändra storlek på diagramfönstret till höger efter att ha kört den slutliga koden, för att simulera en mobilskärm i stående läge (smal och hög) – alla etiketter ska passa inom diagrammets vy.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
  )
Redigera och kör kod