使用theme_bw在ggplot2中绘制标题

时间:2017-07-27 09:37:55

标签: r ggplot2

默认情况下,标题是左对齐的,从ggplot 2.2.0开始。为了使它们再次居中,这篇文章已经解释过:

Center Plot title in ggplot2

这也适用于我的情况,但是如果我使用theme_bw则不行。

dat <- data.frame(
  time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")),
  total_bill = c(14.89, 17.23)
)

ggplot(data=dat, aes(x=time, y=total_bill, fill=time)) + 
  geom_bar(colour="black", fill="#DD8888", width=.8, stat="identity") + 
  guides(fill=FALSE) +
  xlab("Time of day") + ylab("Total bill") +
  ggtitle("Average bill for 2 people")+
  theme(plot.title = element_text(hjust = 0.5))+
  theme_bw()

我尝试将主题参数传递给theme_bw()

theme_bw(plot.title = element_text(hjust = 0.5))

但这确实有用。

有什么想法吗?非常感谢帮助

1 个答案:

答案 0 :(得分:10)

您只需要反转theme_bwtheme

ggplot(data=dat, aes(x=time, y=total_bill, fill=time)) + 
  geom_bar(colour="black", fill="#DD8888", width=.8, stat="identity") + 
  guides(fill=FALSE) +
  xlab("Time of day") + ylab("Total bill") +
  ggtitle("Average bill for 2 people") +
  theme_bw() +
  theme(plot.title = element_text(hjust = 0.5))

enter image description here