How to Change Background Color in ggplot2

When you change the background colors in ggplot, it will be more visually pleasing and attract more attention than the default ones.

p + theme(panel.background = element_rect(fill = 'white', color = 'blue'),
panel.grid.major = element_line(color = 'green', linetype = 'dotted'),
panel.grid.minor = element_line(color = 'green', size = 2))

Here are a few of the most popular themes, based on the below themes can automatically change the background colors.

How to Overlay Plots in R-Quick Guide with Example » finnstats

p + theme_bw() #white background and grey gridlines
p + theme_minimal() #no background annotations
p + theme_classic() #axis lines but no gridlines
p + theme_linedraw() #black lines around the plot 
p + theme_light() # light gray lines and axis (more attention towards the data)
p + theme_void() #Empty theme
p + theme_dark() #Dark background designed to make colours pop out

Approach 1: Change Background Color in ggplot2

Let’s start by loading the package and visualizing the ToothGrowth dataset.

library(ggplot2)
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth)
 len supp dose
1 4.2  VC 0.5
2 11.5 VC 0.5
3 7.3  VC 0.5
4 5.8  VC 0.5
5 6.4  VC 0.5
6 10.0 VC 0.5
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_boxplot()
p

The following code can be used to alter the panel’s background color as well as the major and minor gridlines:

How to Plot Categorical Data in R-Quick Guide »

p + theme(panel.background = element_rect(fill = 'white', color = 'blue'),
panel.grid.major = element_line(color = 'green', linetype = 'dotted'),
panel.grid.minor = element_line(color = 'green', size = 2))

Approach 2: Change background colors based on Built-in Themes

The following code demonstrates how to use multiple built-in ggplot2 themes to change the background color of plots automatically.

Plot Differences in Two Measurements-Bland-Altman Plot in R »

p + theme_bw() #white background and grey gridlines
p + theme_minimal() #no background annotations
p + theme_classic() #axis lines but no gridlines
p + theme_linedraw() #black lines around the plot 

Plot Differences in Two Measurements-Bland-Altman Plot in R »

p + theme_light() # light gray lines and axis (more attention towards the data)
p + theme_void() #Empty theme
p + theme_dark() #Dark background designed to make colours pop out

The following R code shows how to change the background and grid lines of the plot panel

Dot Plots in R-Strip Charts for Small Sample Size »

p + theme(
panel.background = element_rect(fill = "lightcyan",
                                  colour = "lightcyan",
  panel.grid.major = element_line(size = 0.5, linetype = 'solid',
                                  colour = "white"),
  panel.grid.minor = element_line(size = 0.25, linetype = 'solid',
                                  colour = "white"))
p + theme(plot.background = element_rect(fill = "lightpink")) #Change the plot background-color

Adding text labels to ggplot2 Bar Chart »

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

10 − eight =

Ads Blocker Image Powered by Code Help Pro

Quality articles need supporters. Will you be one?

You currently have an Ad Blocker on.

Please support FINNSTATS.COM by disabling these ads blocker.

Powered By
100% Free SEO Tools - Tool Kits PRO