Nuages de points

Introduction à la visualisation de données avec ggplot2

Rick Scavetta

Founder, Scavetta Academy

48 géométries

geom_*
abline contour dotplot jitter pointrange ribbon spoke
area count errorbar label polygon rug step
bar crossbar errorbarh line qq segment text
bin2d curve freqpoly linerange qq_line sf tile
blank density hex map quantile sf_label violin
boxplot density2d histogram path raster sf_text vline
col density_2d hline point rect smooth
Introduction à la visualisation de données avec ggplot2

Types de graphiques courants

Type de graphique Géométries possibles
Nuages de points points, jitter, abline, smooth, count
Introduction à la visualisation de données avec ggplot2

Nuages de points

  • Chaque géométrie accepte des mappages esthétiques précis, p. ex. geom_point() :
Essentiel
x,y
ggplot(iris, aes(x = Sepal.Length, 
                 y = Sepal.Width)) + 
  geom_point()

Introduction à la visualisation de données avec ggplot2

Nuages de points

  • Chaque géométrie accepte des mappages esthétiques précis, p. ex. geom_point() :
Essentiel Optionnel
x,y alpha, color, fill, shape, size, stroke
ggplot(iris, aes(x = Sepal.Length, 
                 y = Sepal.Width,
                 col = Species)) + 
  geom_point()

Introduction à la visualisation de données avec ggplot2

Mappages esthétiques propres à chaque géométrie

# Ces lignes produisent le même graphique !
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) + 
  geom_point()

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + 
  geom_point(aes(col = Species))

Contrôlez les mappages esthétiques de chaque couche séparément :

Introduction à la visualisation de données avec ggplot2
head(iris, 3) # Données brutes
Species Sepal.Length Sepal.Width Petal.Length Petal.Width
1  setosa          5.1         3.5          1.4         0.2
2  setosa          4.9         3.0          1.4         0.2
3  setosa          4.7         3.2          1.3         0.2
iris %>%
  group_by(Species) %>% 
  summarise_all(mean) -> iris.summary

iris.summary # Statistiques sommaires
# A tibble: 3 x 5
  Species    Sepal.Length Sepal.Width Petal.Length Petal.Width
  <fct>             <dbl>       <dbl>        <dbl>       <dbl>
1 setosa             5.01        3.43         1.46       0.246
2 versicolor         5.94        2.77         4.26       1.33 
3 virginica          6.59        2.97         5.55       2.03
Introduction à la visualisation de données avec ggplot2
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
  # Hérite des données et des aes de ggplot()
  geom_point() + 
  # Données différentes, mais aes hérités
  geom_point(data = iris.summary, shape = 15, size = 5)

Introduction à la visualisation de données avec ggplot2

Valeurs de l'attribut shape

Introduction à la visualisation de données avec ggplot2

Exemple

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) + 
  geom_point() +
  geom_point(data = iris.summary, shape = 21, size = 5, 
             fill = "black", stroke = 2)

Introduction à la visualisation de données avec ggplot2

Statistiques à la volée avec ggplot2

  • Voir le deuxième cours pour la couche « stats ».
  • Remarque : évitez d'afficher seulement la moyenne sans mesure de dispersion, p. ex. l'écart type.

Introduction à la visualisation de données avec ggplot2

position = "jitter"

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) + 
  geom_point(position = "jitter")

Introduction à la visualisation de données avec ggplot2

geom_jitter()

Un raccourci pour geom_point(position = "jitter")

ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) + 
  geom_jitter()

Introduction à la visualisation de données avec ggplot2

N'oubliez pas d'ajuster alpha

  • Combinez le « jitter » avec le mélange alpha au besoin
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) + 
  geom_jitter(alpha = 0.6)

Introduction à la visualisation de données avec ggplot2

Les cercles creux aident aussi

  • shape = 1 est un cercle creux.
  • Pas nécessaire d'utiliser aussi le mélange alpha.
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) + 
  geom_jitter(shape = 1)

Introduction à la visualisation de données avec ggplot2

Passons à la pratique !

Introduction à la visualisation de données avec ggplot2

Preparing Video For Download...