2016-05-27 17 views
8

consideri il seguenteetichetta dell'asse Align sulla destra con ggplot2

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)) 

plot with poorly aligned labels

Le etichette di asse x sono allineate al centro dell'etichetta. È possibile allineare automaticamente a destra in modo che ogni etichetta finisca proprio sotto il grafico?

risposta

13

Modifica: Una trama leggermente più bella.

ne dite:

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)) 

enter image description here

È possibile utilizzare i parametri hjust e vjust per spostare le etichette intorno al punto in cui si desidera. Inoltre, se si desidera che le etichette degli assi siano allineate sull'asse x, è possibile modificare semplicemente hjust = 1.

8

In alternativa, capovolgere l'asse, i vostri clienti vi ringrazieranno e hanno meno dolore al collo (più, ho trovato la maggior parte dei grafici a scatole più facile da interpretare con questo orientamento):

ggplot(d, aes(x = x, y = y)) + 
    geom_boxplot() + 
    coord_flip() 

Plot