Leçons du module (2/2)
Personnalisation et Facettes
En plus de définir les géométries et les esthétiques, ggplot2 permet de personnaliser entièrement l'aspect visuel d'un graphique en ajoutant des titres, en modifiant les thèmes et en réalisant du "faceting" (division des graphiques en panneaux).
Titres et Étiquettes : labs()
Pour ajouter un titre principal, des sous-titres et modifier les étiquettes des axes cartésiens ou de la légende, nous utilisons la couche labs() :
ggplot(df, aes(x = age, y = income)) +
geom_point() +
labs(
title = "Reddito in base all'età",
subtitle = "Dati del censimento 2026",
x = "Età (anni)",
y = "Reddito annuale (EUR)",
color = "Genere"
)
Thèmes Graphiques : theme_*()
ggplot2 inclut plusieurs thèmes prédéfinis qui modifient l'arrière-plan, les grilles et la typographie du graphique. Parmi les plus utilisés, on trouve :
theme_gray()(le thème par défaut avec un arrière-plan gris).theme_minimal()(arrière-plan blanc et grille très fine).theme_classic()(style épuré, sans lignes de grille internes).
ggplot(df, aes(x = age, y = income)) +
geom_point() +
theme_minimal() # Applique un design moderne et épuré
Diviser le Graphique en Panneaux : facet_wrap()
Le faceting permet de diviser un seul graphique en plusieurs sous-graphiques (panneaux) juxtaposés, en se basant sur la valeur d'une variable catégorielle.
La fonction principale est facet_wrap() et utilise la notation de formule R (~ nom_variabile) :
# Crée un graphique distinct pour chaque département
ggplot(df, aes(x = age, y = income)) +
geom_point() +
facet_wrap(~ department)
À vous de jouer
Exercice 1 : Ajouter des titres et légendes d'axes
Étant donné le nuage de points, ajoutez la couche labs() en définissant le titre (title) sur 'Title', la légende de l'axe x sur 'Age' et celle de l'axe y sur 'Income'.
Afficher l'indice
Utilisez labs(title = 'Title', x = 'Age', y = 'Income') en l'enchaînant avec le '+'.
Solution disponible après 3 tentatives
Exercice 2 : Appliquer un thème épuré
Appliquez le thème graphique theme_minimal() au nuage de points ci-dessous pour en améliorer l'esthétique.
Afficher l'indice
Utilisez le signe '+' et ajoutez la fonction theme_minimal().
Solution disponible après 3 tentatives
Exercice 3 : Diviser le graphique avec facet_wrap
Utilisez la fonction facet_wrap() pour diviser le nuage de points en différents panneaux selon la colonne department.
Afficher l'indice
Utilisez facet_wrap(~ department) pour diviser le graphique.
Solution disponible après 3 tentatives
Exercice 4 : Inverser les axes de coordonnées
Pour rendre lisible un graphique en colonnes contenant de nombreuses catégories, vous pouvez inverser les axes x et y. Ajoutez la couche coord_flip() au graphique en barres.
Afficher l'indice
Utilisez coord_flip() en la liant au pipeline ggplot avec '+'.
Solution disponible après 3 tentatives
Exercice 5 : Graphique complet prêt pour la publication
Créez un graphique complet sur df : associez age à x, income à y et color à gender dans geom_point(). Divisez le graphique avec facet_wrap() par department, ajoutez labs() avec le titre 'Salary by Age' et enfin appliquez theme_minimal().
Afficher l'indice
Associez toutes les couches à l'aide de '+' : ggplot(...) + geom_point() + facet_wrap(~ department) + labs(title = 'Salary by Age') + theme_minimal()
Solution disponible après 3 tentatives