在ggplot2中心绘图标题

嗨,这个简单的代码(以及我今天上午的所有脚本)已经开始给我一个ggplot2的偏离中心的标题

Ubuntu version: 16.04 R studio version: Version 0.99.896 R version: 3.3.2 GGPLOT2 version: 2.2.0 

今天早上我刚刚安装了上面的这个,试着修复这个….

 dat <- data.frame( time = factor(c("Lunch","Dinner"), levels=c("Lunch","Dinner")), total_bill = c(14.89, 17.23) ) # Add title, narrower bars, fill color, and change axis labels 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") 

在这里输入图像说明

ggplot 2.2.0发布消息: “主要标题现在左alignment,以更好地与副标题更好地工作” 。 另请参阅?themeplot.title参数:“默认情况下为左alignment”。

正如@J_F指出的那样,您可以添加theme(plot.title = element_text(hjust = 0.5))来标题居中。

 ggplot() + ggtitle("Default in 2.2.0 is left-aligned") 

在这里输入图像说明

 ggplot() + ggtitle("Use theme(plot.title = element_text(hjust = 0.5)) to center") + theme(plot.title = element_text(hjust = 0.5)) 

在这里输入图像说明

正如Henrik的答案所述,标题默认情况下是左alignment的,从ggplot 2.2.0开始。 标题可以通过添加到图中来进行居中:

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

但是,如果你创build了很多地块,那么在这个地方添加这条线可能会很繁琐。 然后,人们也可以改变ggplot的默认行为

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

一旦你运行了这一行,之后创build的所有图将使用主题设置plot.title = element_text(hjust = 0.5)作为它们的默认值:

 theme_update(plot.title = element_text(hjust = 0.5)) ggplot() + ggtitle("Default is now set to centered") 

在这里输入图像说明

要恢复到原来的ggplot2默认设置,您可以重新启动R会话或使用默认主题

 theme_set(theme_gray())