Ottimizzare il grafico per i dispositivi mobili
Il titolo dell'asse x è già piuttosto superfluo perché hai aggiunto le etichette per entrambi gli anni. Ora aggiungerai le etichette dei paesi al grafico, così potrai rimuovere tutti gli assi.
In questo esercizio incontrerai qualcosa che probabilmente è nuovo per te: puoi passare nuovi insiemi di dati a singole geometrie come geom_text(), in modo che queste geometrie non usino l’insieme di dati fornito nella chiamata iniziale a ggplot(). Qui ti servirà perché vuoi aggiungere una sola etichetta a ogni freccia. Se usassi l'insieme di dati originale ilo_data, verrebbero aggiunte due etichette perché nel dataset ci sono due osservazioni per ciascun paese, una per il 1996 e una per il 2006.
Questo esercizio fa parte del corso
Comunicare con i dati nel Tidyverse
Istruzioni dell'esercizio
- È stato creato un nuovo insieme di dati
median_working_hourscosì da avere solo un'etichetta per paese. Osservane la struttura constr(). - Usa
median_working_hourscome argomentodatain una nuova chiamata ageom_text()per aggiungere le etichette di ogni paese.- Specifica correttamente le estetiche richieste per
geom_text():xelabel, che devono riferirsi alla variabile giusta nell'insieme di datimedian_working_hours.
- Specifica correttamente le estetiche richieste per
- Rimuovi tutti gli assi e la griglia di sfondo specificando la funzione
element_blank()per tutti gli argomentiaxis.epanel.gridnella chiamata personalizzata atheme(). - Dopo aver eseguito il codice finale, ridimensiona la finestra del grafico a destra per simulare lo schermo di un dispositivo mobile in modalità verticale (stretto e alto): tutte le etichette rientreranno nel riquadro del grafico.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)
)