ggplot2 box plot : Guide de démarrage rapide - Logiciel R et visualisation de données


Ce tutoriel R décrit comment créer un box plot avec le logiciel R et le package ggplot2.

La fonction geom_boxplot() est utilisée. Un format simplifié est :

geom_boxplot(outlier.colour="black", outlier.shape=16,
             outlier.size=2, notch=FALSE)
  • outlier.colour, outlier.shape, outlier.size : La couleur, le type et la taille des points atypiques
  • notch : valeur logique. si TRUE, un box plot de type notch est réalisé. Le “notch” affiche une intervalle de confiance autour de la médiane qui est normalement basée sur la médiane +/- 1.58*IQR/sqrt(n). Les “notch” sont utilisés pour comparer des groupes; Si les “notch” de deux box plots ne se chevauchent pas, c’est une forte évidence que les médianes diffèrent.

ggplot2 box plot - 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.

Box plots basiques

library(ggplot2)
#Box plots basiques
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot()
p
# Tourner le box plot
p + coord_flip()
# Box plot de type notch
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot(notch=TRUE)
# Changer la couleur, la forme et la taille des 
# valeurs atypiques (outliers)
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot(outlier.colour="red", outlier.shape=8,
                outlier.size=4)

ggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de données

La fonction stat_summary() peut être utilisée pour ajouter un point, représentant la moyenne, sur le box plot:

# Box plot avec la moyenne affichée
p + stat_summary(fun.y=mean, geom="point", shape=23, size=4)

ggplot2 box plot - Logiciel R et visualisation de données

Choisir les groupes à afficher :

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

ggplot2 box plot - Logiciel R et visualisation de données

Box plot avec des points

Des points peuvent être ajoutés à un box plot en utilisant la fonction geom_dotplot() ou geom_jitter() :

# Box plot avec un dot plot
p + geom_dotplot(binaxis='y', stackdir='center', dotsize=1)
# Box plot avec des points dispersés (jitter)
# 0.2 : dégré de dispersion sur l'axe des x
p + geom_jitter(shape=16, position=position_jitter(0.2))

ggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de données

Changer la couleur des box plots par groupes

Changer la couleur des traits des box plots

La couleur des traits du box plot peut être automatiquement contrôlée par les niveaux de la variable dose:

# Changer la couleur des traits du box plot par groupes
p<-ggplot(ToothGrowth, aes(x=dose, y=len, color=dose)) +
  geom_boxplot()
p

ggplot2 box plot - Logiciel R et visualisation de données

Il est aussi possible de changer manuellement la couleur des traits du box plot 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 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de données

Lire plus sur ggplot2 et les couleurs ici: ggplot2 couleurs

Changer les couleurs de remplissage du box plot

Dans le code R ci-dessous, les couleurs de remplissage du box plot sont automatiquement contrôlées par les niveaux de la variable dose:

# Utiliser une couleur unique
ggplot(ToothGrowth, aes(x=dose, y=len)) +
  geom_boxplot(fill='#A4A4A4', color="black")+
  theme_classic()
# Changer la couleur par groupes
p<-ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) +
  geom_boxplot()
p

ggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de données

Il est aussi possible de changer manuellement les couleurs de remplissage du box plot en utilisant les fonctions:

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

ggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - 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 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - 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 box plot - Logiciel R et visualisation de données

Box plot avec plusieurs groupes

# Changer la couleur des box plots par groupe
ggplot(ToothGrowth, aes(x=dose, y=len, fill=supp)) +
  geom_boxplot()
# Changer la position
p<-ggplot(ToothGrowth, aes(x=dose, y=len, fill=supp)) +
  geom_boxplot(position=position_dodge(1))
p

ggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de données

Changer la couleur des box plots et ajouter des points :

# Ajouter des points
p + geom_dotplot(binaxis='y', stackdir='center',
                 position=position_dodge(1))
# Changer les couleurs
p+scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))

ggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de données

Box plots personnalisés

# Box plot basique
ggplot(ToothGrowth, aes(x=dose, y=len)) + 
  geom_boxplot(fill="gray")+
  labs(title="Plot of length per dose",x="Dose (mg)", y = "Length")+
  theme_classic()
# Changer autumatiquement la couleur par groupes
bp <- ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) + 
  geom_boxplot()+
  labs(title="Plot of length  per dose",x="Dose (mg)", y = "Length")
bp + theme_classic()

ggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de données

Changer les couleurs de remplissage manuellement :

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

ggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de donnéesggplot2 box plot - Logiciel R et visualisation de données

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

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 échelle et transformation des axes - Logiciel R et visualisation de données
ggplot2 - Combiner plusieurs graphiques sur la même page - 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 nuage de points: Guide de démarrage rapide - 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 textes : Ajouter du texte à un graphique - 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 graphique linéaire : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2
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 dot plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 facet : diviser un graphique en plusieurs panneaux - Logiciel R et visualisation de données
ggplot2 violin plot : Guide de démarrage rapide - Logiciel R et visualisation de données
ggplot2 courbe de distribution : Guide de démarrage rapide - 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 stripchart (jitter): 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 13595 fois
Licence - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions
Licence Creative Commons