Aan de slagGa gratis aan de slag

De plot optimaliseren voor mobiele apparaten

De titel van de x-as is al behoorlijk overbodig omdat je labels voor beide jaren hebt toegevoegd. Je gaat nu landlabels aan de plot toevoegen, zodat alle assen verwijderd kunnen worden.

In deze oefening kom je iets tegen dat waarschijnlijk nieuw voor je is: je kunt nieuwe gegevenssets meegeven aan losse geometrieën zoals geom_text(), zodat deze geometrieën niet de gegevensset gebruiken die aan de eerste ggplot()-aanroep is doorgegeven. Dat heb je hier nodig, omdat je maar één label per pijl wilt toevoegen. Als je de oorspronkelijke gegevensset ilo_data zou gebruiken, zouden er twee labels worden toegevoegd omdat er twee waarnemingen per land in de gegevensset staan: één voor 1996 en één voor 2006.

Deze oefening maakt deel uit van de cursus

Communiceren met data in de Tidyverse

Cursus bekijken

Oefeninstructies

  • Er is een nieuwe gegevensset median_working_hours gemaakt, zodat er maar één label per land is. Bekijk de structuur met str().
  • Gebruik median_working_hours als het data-argument in een nieuwe geom_text()-aanroep om labels voor elk land toe te voegen.
    • Specifieer de vereiste aesthetics voor geom_text() correct: x en label, die naar de juiste variabele in de median_working_hours-gegevensset moeten verwijzen.
  • Verwijder alle assen en het achtergrondraster door de functie element_blank() te specificeren voor alle axis.- en panel.grid-argumenten in de aangepaste theme()-aanroep.
  • Nadat je de uiteindelijke code hebt uitgevoerd, kun je het plotvenster rechts groter of kleiner maken om een mobiel scherm in portretstand (smal en hoog) te simuleren – alle labels passen dan binnen de plotweergave.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren