Considérer ce qui suit
d = data.frame(y=rnorm(120),
x=rep(c("bar", "long category name", "foo"), each=40))
ggplot(d,aes(x=x,y=y)) +
geom_boxplot() +
theme(axis.text.x=element_text(size=15, angle=90))
Les étiquettes de l'axe des x sont alignées par le centre de l'étiquette. Est-il possible de s'aligner automatiquement à droite pour que chaque étiquette se termine juste en dessous du graphique?
C'est précisément à cela que servent les paramètres hjust
et vjust
dans ggplot
. Ils contrôlent respectivement la justification horizontale et verticale et vont de 0 à 1. Voir cette question pour plus de détails sur les justifications et leurs valeurs ( Que font hjust et vjust lors de la création d'un tracé à l'aide de ggplot? ).
Pour obtenir les étiquettes comme vous le souhaitez, vous pouvez utiliser:
hjust = 0.95
(pour laisser un espace entre les étiquettes et l'axe)vjust = 0.2
(pour les centrer dans ce cas)ggplot(d,aes(x=x,y=y)) + geom_boxplot() +
theme(axis.text.x=element_text(size=15, angle=90,hjust=0.95,vjust=0.2))