Visualisation des Données à l'Aide de GGPlot2

GGPLOT Dot Plot

Un dot plot est utilisé pour visualiser la distribution des données. Ce graphique crée des points empilés, où chaque point représente une observation.

Des statistiques descriptives sont habituellement ajoutées aux dot plots pour indiquer, par exemple, la médiane des données et l’écart interquartile.

Cet article décrit comment créer et personnaliser des dot plots en utilisant le package ggplot2 dans R.



Sommaire:

Livre Apparenté

GGPLOT2 - L’Essentiel pour une Visualisation Magnifique des Données dans R

Fonctions R clés

  • Fonction clé: geom_dotplot(). Crée des points empilés, chaque point représentant une observation.
  • Arguments clés:
    • stackdir: la direction dans laquelle les points doivent être empilés. “up” (haut, par défaut), “down” (bas), center (centre), “centerwhole” (centré, mais avec des points alignés).
    • stackratio: à quelle distance empiler les points. La valeur par défaut est 1, où les points se touchent. Utilisez des valeurs plus petites pour des points plus proches et se chevauchant.
    • color, fill: Couleur des bordures des points et couleur de remplissage de la surface
    • dotsize: Le diamètre des points par rapport au binwidth, par défaut 1.

Préparation des données

  • Données de démonstration: ToothGrowth
    • Variable continue : len (longueur des dents). Utilisé sur l’axe des y
    • Variable de regroupement : dose (doses de vitamine C : 0,5, 1 et 2 mg/jour). Utilisé sur l’axe des x.

Tout d’abord, convertir la variable dose d’une variable numérique en une variable discrète de groupes:

data("ToothGrowth")
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth, 4)
##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   VC  0.5

Chargement des packages R requis

Chargez le package ggplot2 et mettez le thème par défaut à theme_classic() avec la légende en haut du graphique:

library(ggplot2)
theme_set(
  theme_classic() +
    theme(legend.position = "top")
  )

Dot plots basiques

Nous commençons par initier un graphique nommé e, puis nous allons ajouter des couches. Le code R suivant crée des pointillés combinés avec des statistiques descriptives (moyenne +/- SD), des boxplots et des violin plots.

# Initialiser un ggplot
e <- ggplot(ToothGrowth, aes(x = dose, y = len))

# Dotplot avec statistiques descriptives : moyenne +/- SD
e + geom_dotplot(binaxis = "y", stackdir = "center", fill = "lightgray") + 
  stat_summary(fun.data = "mean_sdl", fun.args = list(mult=1))

# Dot plots combinées avec des box plots
e + geom_boxplot(width = 0.5) + 
  geom_dotplot(binaxis = "y", stackdir = "center", fill = "lightgray") 

# Dot plot + Violin plot + statistiques descriptives
e + geom_violin(trim = FALSE) +
  geom_dotplot(binaxis='y', stackdir='center', fill = "#999999") +
  stat_summary(fun.data="mean_sdl",  fun.args = list(mult=1))

La fonction mean_sdl est utilisée pour ajouter la moyenne et l’écart-type. Il calcule la moyenne plus ou moins une constante fois l’écart-type. Dans le code R ci-dessus, la constante est spécifiée en utilisant l’argument mult (mult = 1). Par défaut mult = 2. La moyenne +/- SD peut être ajoutée sous forme de crossbar ou de pointrange.

Créer un dot plot avec plusieurs groupes

Deux variables de regroupement différentes sont utilisées : dose sur l’axe des x et supp pour la couleur (variable de la légende).

L’espace entre les graphiques groupés est ajusté à l’aide de la fonction position_dodge().

# Changer la couleur de remplissage des points par groupes
e + geom_boxplot(width = 0.5) +
  geom_dotplot(aes(fill = supp), binaxis='y', stackdir='center')+
  scale_fill_manual(values = c("#00AFBB", "#E7B800"))

# Modifier la position : intervalle entre les dot plots d'un même groupe
e + geom_boxplot(aes(color = supp), width = 0.5, position = position_dodge(0.8)) +
  geom_dotplot(aes(fill = supp, color = supp), binaxis='y', stackdir='center', 
               dotsize = 0.8,position = position_dodge(0.8))+
  scale_fill_manual(values = c("#00AFBB", "#E7B800"))+
  scale_color_manual(values = c("#00AFBB", "#E7B800"))

Conclusion

Cet article décrit comment créer un graphique de points à l’aide du package ggplot2.



Version: English

GGPlot Violin Plot (Prev Lesson)
(Next Lesson) GGPlot Stripchart
Back to Visualisation des Données à l’Aide de GGPlot2

Comment ( 1 )

  • Idriss .S

    Bonjour. Le dernier code fourni ne permet de réaliser le dernier graphe. En effet, on obtient pas un plot avec 6 moustaches mais seulement deux. Il n’y a pas de séparation suivant la dose.

Give a comment

Want to post an issue with R? If yes, please make sure you have read this: How to Include Reproducible R Script Examples in Datanovia Comments

Teacher
Alboukadel Kassambara
Role : Fondateur de Datanovia
Read More