使用ggplot2调整x标签和图表之间的距离

时间:2016-06-15 16:25:03

标签: r ggplot2

我正在尝试缩短x轴标签和图形之间的距离,这样可以更清晰地看到哪个条响应标签。这是代码和图表:

graph196 <- ggplot(serazene196a, aes(x = okres2, y = (NEPO_ANO_NE.mean/100), ordered=TRUE)) +
geom_bar(stat = "Identity", colour="white") 

graph196 + theme_stata() + theme(axis.text.x = element_text(angle = 90, hjust = 1, size = 10, vjust=0.5),
                             axis.text.y = element_text(angle = 0),
                             axis.title.x = element_blank(), axis.title.y = element_blank(),
             axis.text.y = element_text(size = 10), axis.ticks.x = element_blank(),
             axis.ticks.y = element_blank(),
             panel.border = element_blank(),
             plot.background = element_rect(fill = 'white')) +
scale_y_continuous(labels=percent) 

看起来像这样:[1]:http://i.stack.imgur.com/bBjdn.jpg

如果我将hjust增加到1.2,标签看起来足够接近图形,但同时它们没有对齐,因此图形看起来并不好看:[1]:http://i.stack.imgur.com/C7Boc.jpg

是否可以选择如何将标签与增加的调整对齐,或者使整个标签更接近图表?

问题类似于这个问题:Adjust distance between x-axis and text in R plot,除了我使用的是ggplot2。

1 个答案:

答案 0 :(得分:4)

问题是即使你已经隐藏了刻度线,它们仍占据空间。您可以通过调整文本标签的边距来拉近标签。

element_text(angle = 90, hjust = 1, size = 10, vjust=0.5, margin=margin(-15,0,0,0)

边距定义为(顶部,右侧,底部,左侧),并且我已将上边距调整为负值。