Passer au contenu principal
eLearner.app
Module 5 · Leçon 2 sur 210/10 dans le cours~15 min
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() :

Code
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).
Code
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) :

Code
# 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

Exercice#r.m5.l2.e1
Tentatives : 0Chargement…

É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'.

Chargement de l'éditeur…
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é

Exercice#r.m5.l2.e2
Tentatives : 0Chargement…

Appliquez le thème graphique theme_minimal() au nuage de points ci-dessous pour en améliorer l'esthétique.

Chargement de l'éditeur…
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

Exercice#r.m5.l2.e3
Tentatives : 0Chargement…

Utilisez la fonction facet_wrap() pour diviser le nuage de points en différents panneaux selon la colonne department.

Chargement de l'éditeur…
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

Exercice#r.m5.l2.e4
Tentatives : 0Chargement…

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.

Chargement de l'éditeur…
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

Exercice#r.m5.l2.e5
Tentatives : 0Chargement…

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().

Chargement de l'éditeur…
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