在标题内垂直调整标题 - vjust not working

时间:2016-01-15 06:33:49

标签: r plot ggplot2

我想将标题放在图中而不是默认的顶部位置。 这是一个简单的代码片段

library(ggplot2)
df <- data.frame(x = c(1:10), y = rnorm(10, 1, 2))
ggplot(df, aes(x, y))+
   geom_line() +
   ggtitle("Demo") + 
   theme(plot.title = element_text(vjust = -3)) 

过去我能够通过改变vjust值来做到这一点,但现在它无法正常工作。知道怎么做吗?

1 个答案:

答案 0 :(得分:13)

the ggplot issue "vjust not working in v 2.0 for plot.title?"中,哈德利写道:

&#34;所有文本元素现在都有一个边距,默认情况下会缩放字体 主题中的大小。这导致更好的间距,特别是在大字体时 大小。这意味着vjusthjust不再有效的黑客行为。代替, 使用margin()&#34;

element_text()参数

使用t中的bmargin参数来调整标题,例如:

ggplot(df, aes(x, y))+
  geom_line() +
  ggtitle("Demo") + 
    theme(plot.title = element_text(margin = margin(t = 10, b = -20)))

enter image description here

有关更多参数,请参阅?margin

请注意,您应该使用marginaxis.title.x的{​​{1}}参数:

axis.title.y

enter image description here