Nuage de points en R : guide ggplot2

Créez, personnalisez et exécutez un nuage de points ggplot2 — en direct dans votre navigateur

Apprenez à construire un nuage de points en R avec ggplot2 — associez des variables aux axes x et y, colorez/changez la forme/dimensionnez les points par groupe, ajoutez une courbe de tendance, créez un graphique à bulles et étiquetez les points. Modifiez et exécutez le code en direct, sans installation.

Date de publication

17 juin 2026

Modifié

7 juillet 2026

AstucePoints clés
  • Un nuage de points montre la relation entre deux variables numériques avec geom_point().
  • Encodez une troisième variable en l’associant à color, shape ou size.
  • Ajoutez une courbe de tendance avec geom_smooth() ("lm" pour une droite, "loess" pour une courbe).
  • Un graphique à bulles est un nuage de points dont la size est associée à une variable numérique.
  • Étiquetez les points avec geom_text().
  • Chaque graphique ci-dessous est affiché pour vous — modifiez ensuite n’importe quel exemple en direct dans le bac à sable.
Obtenez le livre — GGPlot2 Essentials (PDF)

Introduction

Un nuage de points est l’outil de référence de la visualisation de données : il révèle les corrélations, les regroupements et les valeurs aberrantes entre deux variables numériques d’un seul coup d’œil. Dans R, ggplot2 rend les nuages de points à la fois rapides à écrire et faciles à peaufiner. Cette leçon en construit un pas à pas — les figures sont rendues ici même, et vous pouvez réexécuter ou modifier chacune d’elles en direct.

Nous utilisons le jeu de données intégré mtcars : le poids des voitures (wt) en fonction des miles par gallon (mpg).

Construire le graphique

Associez wt à l’axe des x et mpg à l’axe des y, puis ajoutez une couche de points.

library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point(color = "#3a86d4", size = 3) +
  theme_minimal()

ggplot2 scatter plot of car weight (wt) on the x-axis versus miles per gallon (mpg) on the y-axis; points trend downward.

Couleur, forme et taille par groupe

Encodez une troisième variable en l’associant à un attribut esthétique. Associez le nombre de cylindres (cyl) à la fois à color et à shape pour séparer les groupes, en utilisant une palette viridis adaptée au daltonisme.

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

ggplot2 scatter plot of weight versus mpg with points coloured and shaped by cylinder count.

Ajouter une courbe de tendance

geom_smooth() superpose une tendance ajustée. Utilisez method = "lm" pour une droite ou "loess" pour une courbe locale ; se = FALSE supprime la bande de confiance. Associer color à un groupe ajuste une droite par groupe.

library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg, color = factor(cyl))) +
  geom_point(size = 3) +
  geom_smooth(method = "lm", se = FALSE) +
  scale_color_viridis_d() +
  labs(color = "Cylinders") +
  theme_minimal()

ggplot2 scatter plot of weight versus miles per gallon, coloured by cylinder count, with a linear trend line per group.

Créer un graphique à bulles

Un graphique à bulles est un nuage de points dont une troisième variable numérique est associée à size — ici, la puissance du moteur (hp). Ajoutez alpha pour que les bulles qui se chevauchent restent lisibles.

library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg, size = hp)) +
  geom_point(color = "#3a86d4", alpha = 0.6) +
  labs(size = "Horsepower") +
  theme_minimal()

ggplot2 bubble chart of weight versus mpg, with each point sized by engine horsepower.

Étiqueter les points

Ajoutez du texte avec geom_text(). Associer les noms de lignes étiquette chaque voiture ; check_overlap = TRUE masque les étiquettes qui se chevaucheraient.

library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point(color = "#3a86d4") +
  geom_text(aes(label = rownames(mtcars)), size = 3, vjust = -0.6, check_overlap = TRUE) +
  theme_minimal()

ggplot2 scatter plot of weight versus mpg with each point labelled by its car name.

Essayez en direct

Les graphiques ci-dessus ont été rendus lors de la génération du site. 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 ? Un guide du nuage de points avec matplotlib/seaborn arrive bientôt dans la série Python.

🟢 Avec un agent IA

Demandez à Prova « pourquoi mpg diminue-t-il quand le poids augmente ici ? » — elle répond avec du code que vous pouvez exécuter, donc l’explication est reproductible. The runtime is the judge. Demander à Prova →

Questions fréquentes

Associez vos deux variables numériques à l’intérieur de aes() et ajoutez une couche de points : ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point(). Les attributs esthétiques x et y définissent les axes, et geom_point() dessine un point par ligne.

Associez la variable de regroupement à color à l’intérieur de aes(), par exemple aes(x = wt, y = mpg, color = factor(cyl)). Enveloppez une colonne de regroupement numérique dans factor() pour que ggplot2 la traite comme des catégories discrètes plutôt que comme un dégradé continu ; ajoutez scale_color_viridis_d() pour une palette adaptée au daltonisme.

Ajoutez geom_smooth() : utilisez method = "lm" pour une droite de régression ou "loess" pour une courbe locale, et se = FALSE pour supprimer la bande de confiance. Si color est associé à un groupe, geom_smooth() ajuste une droite par groupe.

Définissez size et alpha à l’intérieur de geom_point() pour un rendu fixe, par exemple geom_point(size = 3, alpha = 0.6). Pour que la taille des points encode plutôt une variable numérique, associez-la : aes(size = hp) transforme le nuage de points en graphique à bulles.

Ajoutez geom_text() avec l’étiquette associée à l’intérieur de aes(), par exemple geom_text(aes(label = rownames(mtcars))). Utilisez check_overlap = TRUE pour masquer les étiquettes qui se chevauchent et vjust (ou hjust) pour décaler le texte par rapport aux points.

Testez vos connaissances

Complétez le code pour que le nuage de points inclue une tendance en ligne droite (lm) sans intervalle de confiance.

# Use geom_smooth() with method = "lm" and se = FALSE
library(ggplot2) ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point() + geom_smooth(method = "lm", se = FALSE)
library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE)

Conclusion

Vous avez construit un nuage de points ggplot2, encodé des groupes avec la couleur et la forme, ajouté une courbe de tendance, créé un graphique à bulles en associant size, et étiqueté les points. Comparez ensuite des distributions avec la boîte à moustaches et le graphique en violon, et peaufinez la légende.

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 lors de la génération du site (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 = {Nuage de points en R : guide ggplot2},
  date = {2026-06-17},
  url = {https://www.datanovia.com/learn/data-visualization/ggplot2/scatter-plot},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
“Nuage de points en R : guide ggplot2.” 2026. June 17. https://www.datanovia.com/learn/data-visualization/ggplot2/scatter-plot.