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
Oefeninstructies
- Er is een nieuwe gegevensset
median_working_hoursgemaakt, zodat er maar één label per land is. Bekijk de structuur metstr(). - Gebruik
median_working_hoursals hetdata-argument in een nieuwegeom_text()-aanroep om labels voor elk land toe te voegen.- Specifieer de vereiste aesthetics voor
geom_text()correct:xenlabel, die naar de juiste variabele in demedian_working_hours-gegevensset moeten verwijzen.
- Specifieer de vereiste aesthetics voor
- Verwijder alle assen en het achtergrondraster door de functie
element_blank()te specificeren voor alleaxis.- enpanel.grid-argumenten in de aangepastetheme()-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)
)