Optimiser le graphique pour les appareils mobiles
Le titre de l'axe des x est déjà assez superflu, car vous avez ajouté les étiquettes pour les deux années. Vous allez maintenant ajouter des étiquettes de pays au graphique, afin que tous les axes puissent être retirés.
Dans cet exercice, vous allez rencontrer quelque chose qui est probablement nouveau pour vous : on peut fournir de nouveaux jeux de données à des géométries individuelles comme geom_text(), de sorte que ces géométries n'utilisent pas le jeu de données transmis à l'appel initial de ggplot(). Ici, vous en aurez besoin parce que vous souhaitez n'ajouter qu'une seule étiquette à chaque flèche. Si vous utilisiez le jeu de données original ilo_data, deux étiquettes seraient ajoutées, car il y a deux observations par pays dans le jeu de données, une pour 1996 et une pour 2006.
Cette activité fait partie du cours
Communiquer avec des données dans le tidyverse
Instructions de l’exercice
- Un nouveau jeu de données
median_working_hoursa été créé afin qu'il n'y ait qu'une seule étiquette par pays. Examinez-en la structure avecstr(). - Utilisez
median_working_hourscomme argumentdatadans un nouvel appel àgeom_text()pour ajouter les étiquettes de chaque pays.- Indiquez correctement les esthétiques requises pour
geom_text():xetlabel, qui doivent pointer vers la bonne variable dans le jeu de donnéesmedian_working_hours.
- Indiquez correctement les esthétiques requises pour
- Retirez tous les axes et la grille d'arrière-plan en spécifiant la fonction
element_blank()pour tous les argumentsaxis.etpanel.griddans l'appeltheme()personnalisé. - Après avoir exécuté le code final, redimensionnez la fenêtre du graphique à droite pour simuler l'écran d'un appareil mobile en mode portrait (étroit et haut) – toutes les étiquettes s'adapteront au cadre d'affichage du graphique.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)
)