J'ai créé une boîte à moustaches, les données de gauche sont la variable continue et les données de droite ont environ 10 options uniques. Lorsque je crée le boxplot, je ne vois pas les étiquettes. Comment puis-je lui faire afficher toutes les étiquettes, éventuellement verticalement?
boxplot(data$Rate ~ as.factor(data$Purpose))
J'ai regardé autour de moi et je ne peux pas comprendre ce que j'essaie de suivre.
Vous pouvez ajouter l'argument las=2
À la fonction boxplot()
pour rendre toutes les étiquettes perpendiculaires à l'axe.
df<-data.frame(Rate=rnorm(100),Purpose=rep(letters[1:10],each=10))
boxplot(df$Rate~df$Purpose,las=2)
Si les noms de vos étiquettes sont longs, vous devez également ajuster les marges du tracé.
par(mar=c(7,5,1,1))
boxplot(df$Rate~df$Purpose,las=2)
Lorsque vous souhaitez spécifier précisément les étiquettes de vos axes, voici la stratégie que j'utilise:
##Generate a boxplot without axes
boxplot(count ~ spray, data = InsectSprays, axes=FALSE)
##Add in a y-axis
axis(2, seq(0,25, 5), seq(0, 25, 5))
##Add in an x-axis
##las=2 changes the orientation
axis(1, 1:6, paste("Big Label", 1:6), las=2)
Il y a une entrée dans le R FAQ sur la façon de faire pivoter les étiquettes d'axe dans les graphiques de base:
http://cran.r-project.org/doc/FAQ/R-FAQ.html#How-can-I-create-rotated-axis-labels_003f
Mais je préférerais personnellement utiliser ggplot2
, ce qui facilite:
data <- data.frame(Rate=rnorm(1:1000),Purpose=sample(c("foo","bar","baz"),1000,replace=TRUE))
ggplot(data, aes(x=factor(Purpose), y=Rate)) + geom_boxplot() + theme(axis.text.x = element_text(angle=90, vjust=0.5))