Comment créer des boîtes à moustaches horizontales dans R
Un boxplot (parfois appelé diagramme en boîte et moustaches) est un tracé qui montre le résumé à cinq chiffres d’un ensemble de données, qui comprend les valeurs suivantes :
- Le minimum
- Premier quartile
- Médian
- Troisième quartile
- Maximum
Pour créer un boxplot horizontal en base R, on peut utiliser le code suivant :
#create one horizontal boxplot boxplot(df$values, horizontal=TRUE) #create several horizontal boxplots by group boxplot(values~group, data=df, horizontal=TRUE)
Et pour créer un boxplot horizontal dans ggplot2 , on peut utiliser le code suivant :
#create one horizontal boxplot ggplot(df, aes(y=values)) + geom_boxplot() + coord_flip() #create several horizontal boxplots by group ggplot(df, aes(x=group, y=values)) + geom_boxplot() + coord_flip()
Les exemples suivants montrent comment créer des boîtes à moustaches horizontales en base R et ggplot2.
Exemple 1 : boîtes à moustaches horizontales en base R
Le code suivant montre comment créer un boxplot horizontal pour une variable dans un bloc de données dans R :
#create data df <- data.frame(points=c(7, 8, 9, 12, 12, 5, 6, 6, 8, 11, 6, 8, 9, 13, 17), team=rep(c('A', 'B', 'C'), each=5)) #create horizontal boxplot for points boxplot(df$points, horizontal=TRUE, col='steelblue')
Le code suivant montre comment créer plusieurs boîtes à moustaches horizontales basées sur des groupes :
#create data df <- data.frame(points=c(7, 8, 9, 12, 12, 5, 6, 6, 8, 11, 6, 8, 9, 13, 17), team=rep(c('A', 'B', 'C'), each=5)) #create horizontal boxplots grouped by team boxplot(points~team, data=df, horizontal=TRUE, col='steelblue', las=2)
Notez que l’argument las=2 indique à R de rendre les étiquettes de l’axe y perpendiculaires à l’axe.
Exemple 2 : Boxplots horizontaux dans ggplot2
Le code suivant montre comment créer un boxplot horizontal pour une variable dans ggplot2 :
library(ggplot2) #create data df <- data.frame(points=c(7, 8, 9, 12, 12, 5, 6, 6, 8, 11, 6, 8, 9, 13, 17), team=rep(c('A', 'B', 'C'), each=5)) #create horizontal boxplot for points ggplot(df, aes(y=points)) + geom_boxplot(fill='steelblue') + coord_flip()
Le code suivant montre comment créer plusieurs boîtes à moustaches horizontales dans ggplot2 en fonction de groupes :
library(ggplot2) #create data df <- data.frame(points=c(7, 8, 9, 12, 12, 5, 6, 6, 8, 11, 6, 8, 9, 13, 17), team=rep(c('A', 'B', 'C'), each=5)) #create horizontal boxplot for points ggplot(df, aes(x=team, y=points)) + geom_boxplot(fill='steelblue') + coord_flip()
Ressources additionnelles
Comment créer un graphique à bandes dans R
Comment créer un barplot empilé dans R
Comment créer un tracé de points empilés dans R