IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • È stato creato un nuovo insieme di dati median_working_hours così da avere solo un'etichetta per paese. Osservane la struttura con str().
  • Usa median_working_hours come argomento data in una nuova chiamata a geom_text() per aggiungere le etichette di ogni paese.
    • Specifica correttamente le estetiche richieste per geom_text(): x e label, che devono riferirsi alla variabile giusta nell'insieme di dati median_working_hours.
  • Rimuovi tutti gli assi e la griglia di sfondo specificando la funzione element_blank() per tutti gli argomenti axis. e panel.grid nella chiamata personalizzata a theme().
  • 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)
  )
Modifica ed esegui il codice