ggplot2 stripchart (jitter): Guide de démarrage rapide - Logiciel R et visualisation de données


Ce tutoriel R décrit comment créer un stripchart avec le logiciel R et le package ggplot2. Le stripchart correspond à un nuage de points sur une dimension. Ce type de graphique est beaucoup plus adapté qu’un box plot lorsque la taille des échantillons est petite.

La fonction geom_jitter() est utilisée.

ggplot2 stripchart - Logiciel R et visualisation de données

Préparer les données

Le jeu de données ToothGrowth est utilisé dans les exemples suivants :

# Convertir la colonne dose en facteur
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth)
##    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
## 5  6.4   VC  0.5
## 6 10.0   VC  0.5

Assurez-vous que la variable dose soit convertie en facteur en utilisant le script de R ci-dessus.

Stripcharts basiques

library(ggplot2)
# Stripcharts basiques
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_jitter()
# Changer l'argument position
# 0.2 : dégré de dispersion sur l'axe des x
p<-ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_jitter(position=position_jitter(0.2))
p
# Tourner le stripchart
p + coord_flip()

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Choisir les groupes à afficher:

p + scale_x_discrete(limits=c("0.5", "2"))

ggplot2 stripchart - Logiciel R et visualisation de données

Changer le type et la taille des points :

# Changer la taille des points
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_jitter(position=position_jitter(0.2), cex=1.2)
# Changer le type de point (shape)
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_jitter(position=position_jitter(0.2), shape=17)

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Lire plus sur les types de points : ggplot2 types de points

Ajouter des statistiques descriptives sur un stripchart

La fonction stat_summary() peut être utilisée pour ajouter la moyenne/médiane et plus sur un dot plot.

Ajouter le point de la moyenne et de la médiane

# stripchart avec le point de la moyenne
p + stat_summary(fun.y=mean, geom="point", shape=18,
                 size=3, color="red")
# stripchart avec le point de la médiane
p + stat_summary(fun.y=median, geom="point", shape=18,
                 size=3, color="red")

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Stripchart avec un box plot et un violin plot

# Ajouter un box plot basique
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot()+
  geom_jitter(position=position_jitter(0.2))
# Ajouter un box plot de type notch
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot(notch = TRUE)+
  geom_jitter(position=position_jitter(0.2))
# Ajouter un violin plot
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_violin(trim = FALSE)+
  geom_jitter(position=position_jitter(0.2))

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Lire plus sur le box plot : ggplot2 box plot

Lire plus sur le violin plot : ggplot2 violin plot

Ajouter la moyenne et l’écart type

La fonction mean_sdl est utilisée. mean_sdl calcule la moyenne plus ou moins une constante fois l’écart type.

Dans le code R ci-dessous, 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 comme un crossbar ou un pointrange :

p <- ggplot(ToothGrowth, aes(x=dose, y=len)) + 
    geom_jitter(position=position_jitter(0.2))
p + stat_summary(fun.data="mean_sdl", mult=1, 
                 geom="crossbar", width=0.5)
p + stat_summary(fun.data=mean_sdl, mult=1, 
                 geom="pointrange", color="red")

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Notez que, vous pouvez aussi définir une fonction personnalisée pour calculer les statistiques descriptives comme suit.

# Fonction pour produire les 
# statistiques descriptives (moyenne et +/- sd)
data_summary <- function(x) {
   m <- mean(x)
   ymin <- m-sd(x)
   ymax <- m+sd(x)
   return(c(y=m,ymin=ymin,ymax=ymax))
}

Utiliser une fonction personnalisée:

p + stat_summary(fun.data=data_summary, color="blue")

ggplot2 stripchart - Logiciel R et visualisation de données

Changer les types de points par groupes

Dans le code R ci-dessous, la forme des points du stripchart est automatiquement contrôlée par les niveaux de la variable dose.

Il est aussi possible de changer manuellement le type de points en utilisant la fonction scale_shape_manual().

# Changer le type de points par groupes
p<-ggplot(ToothGrowth, aes(x=dose, y=len, shape=dose)) + 
    geom_jitter(position=position_jitter(0.2))
p
# Changer le type de points manuellement
p + scale_shape_manual(values=c(1,17,19))

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Lire plus sur les types de points : ggplot2 types de points

Changer la couleur par groupes

Dans le code R ci-dessous, la couleur des points est automatiquement contrôlée par les niveaux de la variable dose:

# Utiliser une couleur unique
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
    geom_jitter(position=position_jitter(0.2), color="red")
# Changer la couleur par groupe
p<-ggplot(ToothGrowth, aes(x=dose, y=len, color=dose)) +
  geom_jitter(position=position_jitter(0.2))
p

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Il est aussi possible de changer manuellement les couleurs en utilisant les fonctions:

  • scale_color_manual() : pour utiliser des couleurs personnalisées
  • scale_color_brewer() : pour utiliser les palettes de couleurs du package RColorBrewer
  • scale_color_grey() : pour utiliser la palette de couleurs grises
# Utiliser des couleurs personnalisées
p+scale_color_manual(values=c("#999999", "#E69F00", "#56B4E9"))
# Utiliser les palettes RColorBrewer
p+scale_color_brewer(palette="Dark2")
# Utiliser la palette de couleurs grises
p + scale_color_grey() + theme_classic()

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Lire plus sur ggplot2 et les couleurs ici: ggplot2 couleurs

Changer la position de la légende

p + theme(legend.position="top")
p + theme(legend.position="bottom")
p + theme(legend.position="none")# supprimer la légende

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Les valeurs possibles pour l’argument legend.position sont : “left”,“top”, “right”, “bottom”.

Lire plus sur ggplot2 et légende: ggplot2 légende

Changer l’ordre des éléments dans la légende

La fonction scale_x_discrete peut être utilisée pour changer l’ordre des éléments en “2”, “0.5”, “1” :

p + scale_x_discrete(limits=c("2", "0.5", "1"))

ggplot2 stripchart - Logiciel R et visualisation de données

Stripchart avec plusieurs groupes

# Changer la couleur des stripcharts par groupe
ggplot(ToothGrowth, aes(x=dose, y=len, color=supp)) +
  geom_jitter(position=position_jitter(0.2))
# Changer la position : intervalle entre les groupes
p<-ggplot(ToothGrowth, aes(x=dose, y=len, color=supp, shape=supp)) +
  geom_jitter(position=position_dodge(0.8))
p

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Change les couleurs du stripchart et ajouter des box plots :

# Changer les couleurs
p+scale_color_manual(values=c("#999999", "#E69F00", "#56B4E9"))
# Ajouter des box plots
ggplot(ToothGrowth, aes(x=dose, y=len, color=supp)) +
  geom_boxplot(color="black")+
  geom_jitter(position=position_jitter(0.2))
# Changer la position
ggplot(ToothGrowth, aes(x=dose, y=len, color=supp)) +
  geom_boxplot(position=position_dodge(0.8))+
  geom_jitter(position=position_dodge(0.8))

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Stripcharts personnalisés

# Stripchart basique
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot()+
  geom_jitter(position=position_jitter(0.2))+
  labs(title="Plot of length  by dose",x="Dose (mg)", y = "Length")+
  theme_classic()
# Changer la couleur et le type de points par groupes
p <- ggplot(ToothGrowth, aes(x=dose, y=len, color=dose, shape=dose)) + 
  geom_jitter(position=position_jitter(0.2))+
  labs(title="Plot of length  by dose",x="Dose (mg)", y = "Length")
p + theme_classic()

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Changer les couleurs manuellement:

# Couleurs continues
p + scale_color_brewer(palette="Blues") + theme_classic()
# Couleurs discretes
p + scale_color_brewer(palette="Dark2") + theme_minimal()
# Gradient de couleurs
p + scale_color_brewer(palette="RdBu")

ggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de donnéesggplot2 stripchart - Logiciel R et visualisation de données

Lire plus sur ggplot2 et les couleurs ici: ggplot2 couleurs

Infos

Cette analyse a été faite en utilisant le logiciel R (ver. 3.1.2) et le package ggplot2 (ver. 1.0.0)







Want to Learn More on R Programming and Data Science?

==> Subscribe to our Mailing List <==

* indicates required


 Get involved :
  Click to follow us on and Google+ :   
  Comment this article by clicking on "Discussion" button (top-right position of this page)
  Sign up as a member and post news and articles on STHDA web site.


Suggestions


ggplot2 couleurs : Changer les couleurs automatiquement et manuellement - Logiciel R et visualisation de données
ggplot2 graduation des axes : Guide pour personnaliser les étiquettes des graduations - Logiciel R et visualisation de données
ggplot2 légende : Modifier facilement la légende d'un graphique - Logiciel R et visualisation de données
ggplot2 barplots : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 - Combiner plusieurs graphiques sur la même page - Logiciel R et visualisation de données
ggplot2 échelle et transformation des axes - Logiciel R et visualisation de données
ggplot2 titres : Titre principal, titre des axes et légendes - Logiciel R et visualisation de données
ggplot2 box plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 nuage de points: Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 textes : Ajouter du texte à un graphique - Logiciel R et visualisation de données
ggplot2 thèmes et couleurs de fond : les 3 éléments - Logiciel R et visualisation de données
ggplot2 barres d'erreur : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 graphique en camembert: Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 types de points - Logiciel R et visualisation de données
ggplot2 histogramme : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 - ajouter une ligne droite à un graphe : Ligne horizontale, verticale et droite de régression
ggplot2
ggplot2 graphique linéaire : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 dot plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 : heatmap d'une matrice de corrélation - Logiciel R et visualisation de données
ggplot2 type de traits : Comment changer le type de trait d'un graphique avec le logiciel R?
ggplot2 facet : diviser un graphique en plusieurs panneaux - Logiciel R et visualisation de données
ggplot2 ECDF graphique: Guide de démarrage rapide pour la fonction de répartition empirique - Logiciel R et visualisation de données
ggplot2 courbe de distribution : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 violin plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 pivoter un graphique : Inverser et retourner le graphique - Logiciel R et visualisation de données
ggplot2 qq plot (quantile - quantile plot) : Guide de démarrage rapide - Logiciel R et visualisation de données

Cette page a été vue 4271 fois
Licence - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions
Licence Creative Commons