使用ggplot2将右侧的轴标签对齐

Rem*_*i.b 15 graphics r graph 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))
Run Code Online (Sandbox Code Playgroud)

标签不对齐的情节

x轴标签由标签的中心对齐.是否可以在右侧自动对齐,以便每个标签都在图表的正下方?

Mik*_* H. 27

这正是hjustvjust参数的用途ggplot.它们分别控制水平和垂直对齐,范围从0到1.有关理由及其值的更多详细信息,请参阅此问题(使用ggplot制作绘图时,hjust和vjust会做什么?).

要按照您希望的方式获取标签,您可以使用:

  • hjust = 0.95 (在标签和轴之间留一些空间)
  • vjust = 0.2 (在这种情况下居中)

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))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Jas*_*lns 10

或者,翻转轴,您的客户会感谢您,并且颈部疼痛较少(另外,我发现大多数箱形图更易于使用此方向解释):

ggplot(d, aes(x = x, y = y)) +
  geom_boxplot() + 
  coord_flip()
Run Code Online (Sandbox Code Playgroud)

情节