Accéder au contenu principal

Tutoriel sur les graphiques avec ggplot2

La visualisation de données est une compétence essentielle pour les data scientists. Elle marie statistiques et design de manière pertinente et efficace.
Actualisé 19 sept. 2026  · 6 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

La visualisation de données est une compétence essentielle pour les data scientists. Elle marie statistiques et design de manière pertinente et efficace. D’un côté, la visualisation est une forme d’analyse graphique des données, qui privilégie la représentation fidèle et l’interprétation. De l’autre, elle s’appuie sur de bons choix de design pour rendre les graphiques attractifs et faciliter à la fois la compréhension et la communication des résultats. À cela s’ajoute une part de créativité, car la visualisation de données reste avant tout une communication visuelle.

diagramme de Venn de la visualisation de données

Il est important de distinguer visualisations exploratoires et explicatives. Les visualisations exploratoires sont rapides à produire, riches en données et destinées à un public restreint et spécialiste, comme vous et vos collègues : leur objectif principal est l’analyse graphique des données. Les visualisations explicatives demandent plus d’efforts, sont adaptées à des données spécifiques et visent un public plus large (publications, présentations) : elles s’inscrivent dans une démarche de communication. En tant que data scientist, vous devez pouvoir explorer rapidement des données, mais aussi expliquer vos résultats aux parties prenantes. Un bon design commence par la réflexion sur l’audience — et parfois, cela signifie tout simplement nous-mêmes.

schéma de visualisation pour data scientist

Nuage de points

Ci-dessous, nous avons un jeu de données qui contient les poids moyens du cerveau et du corps de 62 mammifères.

 MASS::mammals
                              body   brain
Arctic fox                   3.385   44.50
Owl monkey                   0.480   15.50
Mountain beaver              1.350    8.10
Cow                        465.000  423.00
Grey wolf                   36.330  119.50
Goat                        27.660  115.00
Roe deer                    14.830   98.20
...
Pig                        192.000  180.00
Echidna                      3.000   25.00
Brazilian tapir            160.000  169.00
Tenrec                       0.900    2.60
Phalanger                    1.620   11.40
Tree shrew                   0.104    2.50
Red fox                      4.235   50.40 

Pour comprendre la relation entre ces variables, la première étape la plus évidente est de réaliser un nuage de points, comme ci-dessous :

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point()
nuage de points

Deux mammifères, les éléphants d’Afrique et d’Asie, ont des poids du cerveau et du corps très élevés, ce qui induit une asymétrie positive sur les deux axes.

Modèle linéaire

Si nous appliquions un modèle linéaire tel quel, ce serait un mauvais choix, car quelques valeurs extrêmes exerceraient une influence disproportionnée.

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point(alpha = 0.6) +
  stat_smooth(
    method = "lm",
    color = "red",
    se = FALSE
  )
modèle linéaire sur nuage de points

Appliquer une transformation logarithmique aux deux variables permet un ajustement plus pertinent.

ggplot(mammals, aes(x = body, y = brain)) +
  geom_point(alpha = 0.6) +
  coord_fixed() +
  scale_x_log10() +
  scale_y_log10() +
  stat_smooth(
    method = "lm",
    color = "#C42126",
    se = FALSE,
    size = 1
  )
transformation logarithmique sur nuage de points linéaire

Ainsi, même si nous avons commencé par un graphique exploratoire sommaire, il nous a informés sur nos données et nous a conduits à un résultat pertinent.

Les graphiques d’Anscombe

Lorsque nous pensons à un modèle linéaire, comme sur ce graphique anonyme, nous imaginons que nous décrivons des données qui ressemblent à ceci.

modèle linéaire sur graphique anonyme

Mais ce même modèle pourrait décrire un tout autre jeu de données, par exemple une relation parabolique, qui appellerait un autre modèle.

graphique de relation parabolique

Ou des données où une valeur extrême a un effet majeur, ce qui devient évident une fois l’observation aberrante retirée.

valeur aberrante retirée sur graphique linéaire

Et parfois, le modèle peut sembler décrire une relation alors qu’il n’y en a pas, parce que certaines valeurs extrêmes sont erronées.

valeurs extrêmes incorrectes sur graphique linéaire

Si nous nous contentions des résultats numériques sans tracer les données, nous passerions à côté de tendances sous-jacentes distinctes et intéressantes.

tendances dans des graphiques linéaires

On voit bien que la visualisation de données s’enracine dans les statistiques et l’analyse graphique, tout en étant un processus créatif qui implique une part d’essais et d’erreurs.

Exemple interactif

Dans l’exemple suivant, vous allez d’abord charger le package ggplot2 avec library(). Puis vous explorerez la structure du jeu de données mtcars avec str().

Enfin, vous visualiserez le ggplot et chercherez à comprendre ce que ggplot fait des données.

Vous utiliserez le jeu de données mtcars, qui contient des informations sur 32 voitures issues d’un numéro de 1973 du magazine Motor Trend. Ce jeu de données est de petite taille, intuitif, et comporte une variété de variables continues et catégorielles.

# Load the ggplot2 package
library(ggplot2)

# Explore the mtcars data frame with str()
str(mtcars)

# Execute the following command
p <- ggplot(mtcars, aes(cyl, mpg)) +
  geom_point()

Lorsque nous exécutons le code ci-dessus, il produit le résultat suivant :

data.frame':    32 obs. of  11 variables:
 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
 $ disp: num  160 160 108 258 360 ...
 $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
 $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
 $ qsec: num  16.5 17 18.6 19.4 17 ...
 $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
 $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
 $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
ggplot

Pour en savoir plus sur la visualisation de données avec ggplot, regardez cette vidéo issue de notre cours Introduction to Data Visualization with ggplot2. Gardez aussi à portée de main notre ggplot2 Cheat Sheet comme aide-mémoire.

Ce contenu est extrait du cours Introduction to Data Visualization with ggplot2 de DataCamp, par Rick Scavetta.

Sujets
R
Science des données

Cours associés

Cours

Visualisation de données intermédiaire avec ggplot2

4 h
57.3K
Apprenez à utiliser les facettes, les systèmes de coordonnées et les statistiques dans ggplot2 pour créer des graphiques explicatifs.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow