How do I change the background color of a plot made with ggplot2

Jack Edmonds picture Jack Edmonds · Jul 18, 2011 · Viewed 141.7k times · Source

By default, ggplot2 produces plots with a grey background. How do I change the color of the background of the plot?

For example, a plot produced by the following code:

library(ggplot2)
myplot<-ggplot(data=data.frame(a=c(1,2,3), b=c(2,3,4)), aes(x=a, y=b)) + geom_line()
myplot

Answer

Jack Edmonds picture Jack Edmonds · Jul 18, 2011

To change the panel's background color, use the following code:

myplot + theme(panel.background = element_rect(fill = 'green', colour = 'red'))

To change the color of the plot (but not the color of the panel), you can do:

myplot + theme(plot.background = element_rect(fill = 'green', colour = 'red'))

See here for more theme details Quick reference sheet for legends, axes and themes.