Introduction à ggplot2 en R : la grammaire des graphiques

Construisez un graphique pièce par pièce — données, attributs esthétiques, géométrie — en direct dans votre navigateur

Apprenez ggplot2 en R à partir de zéro — la grammaire des graphiques (données + attributs esthétiques + géométrie), comment construire un graphique couche par couche avec ggplot() et geom_*(), associer des variables à la couleur, la taille ou la forme, et le personnaliser. Le point de départ de toute la série ggplot2.

Date de publication

20 juin 2026

Modifié

7 juillet 2026

AstucePoints clés
  • ggplot2 construit les graphiques à partir d’une grammaire des graphiques : chaque graphique = données + attributs esthétiques + géométrie.
  • Les données forment un data frame ; les attributs esthétiques (aes()) associent des variables à des propriétés visuelles (x, y, couleur, taille, forme) ; la géométrie (geom_*()) est le type de graphique (points, lignes, barres…).
  • Vous construisez un graphique couche par couche avec + : ggplot(data, aes(...)) + geom_point().
  • Associez une variable à colour, size ou shape pour encoder des dimensions supplémentaires.
  • Personnalisez avec labs(), theme_*(), les facettes et les échelles — chacun a sa propre leçon dans cette série.
  • Chaque graphique ci-dessous est rendu pour vous — puis ajustez-le en direct dans le bac à sable.
Obtenez le livre — GGPlot2 Essentials (PDF)

Introduction

ggplot2 est le package R le plus populaire pour la visualisation de données, et pour de bonnes raisons : au lieu de mémoriser une fonction distincte pour chaque graphique, vous décrivez un graphique avec une grammaire réduite et cohérente. Une fois que vous avez compris la grammaire, vous pouvez construire n’importe quel graphique — et lire le code ggplot2 de n’importe qui d’autre. Cette leçon est le point de départ de toute la série ggplot2 ; elle explique la grammaire et construit vos premiers graphiques étape par étape.

# install once, then load in every session
install.packages("ggplot2")
library(ggplot2)

La grammaire des graphiques

Chaque ggplot est constitué de trois éléments fondamentaux :

  • Données — un data frame (lignes = observations, colonnes = variables).
  • Attributs esthétiquesaes() associe des variables à ce que vous voyez : les positions x et y, et éventuellement colour, fill, size, shape.
  • Géométrie — une couche geom_*() qui décide du type de graphique : geom_point() pour un nuage de points, geom_line() pour une ligne, geom_bar() pour des barres, et ainsi de suite.

Nous utiliserons le jeu de données intégré mtcars (poids des voitures wt versus miles par gallon mpg).

Construire un graphique, pièce par pièce

Commencez par ggplot() et l’association données + attributs esthétiques. À elle seule, elle dessine un canevas vide — elle connaît les axes mais pas encore ce qu’il faut dessiner :

library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg))

An empty ggplot2 panel with weight on the x-axis and miles per gallon on the y-axis, no points drawn yet.

Ajoutez une couche de géométrie avec + pour dessiner les données — ici, des points (un nuage de points) :

library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()

A ggplot2 scatter plot of car weight versus miles per gallon; points trend downward.

C’est tout le schéma : ggplot(data, aes(...)) + geom_*(). Tout le reste consiste à ajouter ou à ajuster des couches.

Associer une variable à un attribut esthétique

La puissance de la grammaire : associez une troisième variable à un attribut esthétique pour encoder davantage d’informations. Associez le nombre de cylindres (cyl) à colour (enveloppez-le dans factor() pour qu’il soit traité comme des groupes), avec une palette adaptée au daltonisme :

library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg, colour = factor(cyl))) +
  geom_point(size = 3) +
  scale_colour_viridis_d() +
  labs(colour = "Cylinders") +
  theme_minimal()

The scatter plot with points coloured by cylinder count using a colourblind-safe palette.

Remplacez colour par size ou shape pour encoder la variable différemment — même grammaire, attribut esthétique différent.

Changer la géométrie pour changer le graphique

Gardez la grammaire, changez le geom_*(), et vous obtenez un graphique différent. Une boîte à moustaches de la longueur des dents par dose (jeu de données intégré ToothGrowth) :

library(ggplot2)
ggplot(ToothGrowth, aes(x = factor(dose), y = len)) +
  geom_boxplot(fill = "#3a86d4", alpha = 0.7) +
  theme_minimal()

A ggplot2 boxplot of tooth length by vitamin C dose, made by swapping geom_point for geom_boxplot.

Chaque type de graphique est un geom_*() avec sa propre leçon : nuages de points, boîtes à moustaches, graphiques en violon, diagrammes en barres, graphiques en courbes, histogrammes, graphiques de densité, et plus encore.

Personnaliser : titres, thème et au-delà

Ajoutez davantage de couches pour affiner la figure — un titre et des étiquettes d’axes avec labs(), et une apparence globale avec un theme_*() :

library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point(colour = "#3a86d4", size = 3) +
  labs(title = "Heavier cars use more fuel",
       x = "Weight (1000 lbs)", y = "Miles per gallon") +
  theme_minimal()

The scatter plot with a title, axis labels, and the minimal theme applied.

À partir d’ici, chaque personnalisation a sa propre leçon : titres, sous-titres et légendes, la légende, couleurs et palettes, thèmes, facettes (plusieurs panneaux), et graduations des axes.

Essayez en direct

Les graphiques ci-dessus ont été rendus au moment de la construction. Envie d’expérimenter ? Modifiez le code et appuyez sur Run — il s’exécute dans votre navigateur via webR (sans serveur, sans installation).

Vous travaillez en Python ? Une introduction à matplotlib/seaborn arrive dans la série Python.

🟢 Avec un agent IA

Demandez à Prova « qu’est-ce qui change quand on associe une variable à la couleur plutôt qu’à la taille dans ce graphique ? » — elle répond avec du code que vous pouvez exécuter, pour que la grammaire devienne limpide. The runtime is the judge. Demander à Prova →

Questions fréquentes

La grammaire des graphiques, c’est l’idée que chaque graphique se construit à partir de quelques éléments combinables : les données (un data frame), les attributs esthétiques (aes(), qui associent des variables à des propriétés visuelles comme x, y, colour, size, shape) et une géométrie (geom_*(), le type de graphique). Vous décrivez un graphique en combinant ces éléments, au lieu de mémoriser une fonction distincte par type de graphique.

Vous combinez les couches avec l’opérateur + : commencez par ggplot(data, aes(...)), puis ajoutez une géométrie comme + geom_point(), et continuez d’ajouter des couches telles que + labs(...) ou + theme_minimal(). Chaque + ajoute ou ajuste une couche, de sorte que le graphique se construit pièce par pièce.

Mettez-la à l’intérieur de aes() pour associer une variable (aes(colour = factor(cyl)) colore les points par groupe et ajoute une légende) ; mettez-la à l’extérieur de aes(), directement dans le geom, pour fixer une couleur unique (geom_point(colour = "#3a86d4") donne cette couleur à chaque point, sans légende). L’association encode des données ; le réglage relève du pur style.

Gardez le même ggplot() et le même aes(), et remplacez la couche de géométrie : utilisez geom_point() pour un nuage de points, geom_boxplot() pour une boîte à moustaches, geom_line() pour une ligne, geom_bar() pour des barres, et ainsi de suite. La grammaire reste la même — seul le geom_*() change.

Ajoutez une couche labs() : + labs(title = "My title", x = "Weight", y = "Miles per gallon"). Vous pouvez aussi y définir le titre de la légende (par exemple labs(colour = "Cylinders")), et l’associer à un theme_*() comme theme_minimal() pour l’apparence globale.

Testez vos connaissances

Complétez le code pour dessiner un nuage de points de wt (x) versus mpg (y) avec des points.

# Add the points geometry: geom_point()
library(ggplot2) ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point()
library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point()

Conclusion

Vous avez appris la grammaire des graphiques — données + attributs esthétiques + géométrie — et construit des ggplots couche par couche avec ggplot() et geom_*(), associé des variables à la couleur, et ajouté des titres et un thème. Ce schéma unique débloque chaque graphique de cette série. Commencez par le nuage de points et parcourez la série ggplot2 une leçon exécutable à la fois.

Leçons connexes

Vous préférez un livre ? GGPlot2 Essentials est disponible en PDF téléchargeable — toutes les leçons de cette série, hors ligne et à vous.

Obtenir le livre (PDF) →Les leçons restent gratuites en ligne.
Cette page vous a-t-elle été utile ?

Prouvez que vous savez le faire. Maîtrisez toute la série ggplot2 — suivez votre parcours, construisez des projets et obtenez un certificat.

Commencer gratuitement →

Passez à Pro — Prova illimité sur vos propres données et un certificat vérifiable qui atteste la compétence.

dès 15 $/mois facturé annuellement

Passer à Pro →

✓ Vous êtes Pro — continuez. The runtime is the judge.

Recevez les nouvelles leçons R & Python par e-mail

Pratique, reproductible, sans spam. Désinscription à tout moment.

Double opt-in. Nous ne partageons jamais votre e-mail.

Partager cette pageXLinkedInRedditHN
Note

Cette leçon est reproductible : les figures sont exécutées au moment de la construction (si elles s’affichent, le code fonctionne), et le bac à sable et le quiz se réexécutent en direct dans votre navigateur. The runtime is the judge.

Réutilisation

Citation

BibTeX
@online{2026,
  author = {},
  title = {Introduction à ggplot2 en R : la grammaire des graphiques},
  date = {2026-06-20},
  url = {https://www.datanovia.com/learn/data-visualization/ggplot2/introduction-to-ggplot2},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
“Introduction à ggplot2 en R : la grammaire des graphiques.” 2026. June 20. https://www.datanovia.com/learn/data-visualization/ggplot2/introduction-to-ggplot2.