Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Center Plot title in ggplot2

This simple code (and all my scripts from this morning) has started giving me an off center title in ggplot2:

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

I have freshly installed the above this morning to try and fix this...

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") 

enter image description here

like image 639
Christopher John Avatar asked Nov 18 '16 11:11

Christopher John


People also ask

How do I change the size of my Ggtitle?

To change the size of the title and subtitle, we add the theme() function to labs() or ggtitle() function, whatever you used. Here we use labs() function. Inside theme() function, we use plot. title parameter for doing changes in the title of plot and plot.


1 Answers

From the release news of ggplot 2.2.0: "The main plot title is now left-aligned to better work better with a subtitle". See also the plot.title argument in ?theme: "left-aligned by default".

As pointed out by @J_F, you may add theme(plot.title = element_text(hjust = 0.5)) to center the title.

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

enter image description here

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

enter image description here

like image 150
Henrik Avatar answered Sep 20 '22 06:09

Henrik