Вы можете использовать следующий синтаксис для изменения цвета фона различных элементов на графике ggplot2:
p + theme(panel. background = element_rect(fill = 'lightblue', color = 'purple'),
panel. grid.major = element_line(color = 'red', linetype = 'dotted'),
panel. grid.minor = element_line(color = 'green', size = 2 ))
Кроме того, вы можете использовать встроенные темы ggplot2 для автоматического изменения цвета фона. Вот некоторые из наиболее часто используемых тем:
p + theme_bw() #white background and grey gridlines
p + theme_minimal() #no background annotations
p + theme_classic() #axis lines but no gridlines
В следующих примерах показано, как использовать этот синтаксис на практике.
Пример 1. Указание пользовательского цвета фона
В следующем коде показано, как создать базовую диаграмму рассеяния в ggplot2 с серым фоном по умолчанию:
library (ggplot2)
#create data frame
df <- data.frame(x=c(1, 3, 3, 4, 5, 5, 6, 9, 12, 15),
y=c(13, 14, 14, 12, 17, 21, 22, 28, 30, 31))
#create scatterplot
p <- ggplot(df, aes (x=x, y=y)) +
geom_point()
#display scatterplot
p

Мы можем использовать следующий код, чтобы изменить цвет фона панели вместе с основными и второстепенными линиями сетки:
p + theme(panel. background = element_rect(fill = 'lightblue', color = 'purple'),
panel. grid.major = element_line(color = 'red', linetype = 'dotted'),
panel. grid.minor = element_line(color = 'green', size = 2 ))

Пример 2. Использование встроенной темы для изменения цвета фона
В следующем коде показано, как использовать различные встроенные темы ggplot2 для автоматического изменения цвета фона графиков:
p + theme_bw() #white background and grey gridlines

p + theme_minimal() #no background annotations

p + theme_classic() #axis lines but no gridlines

Дополнительные ресурсы
Как удалить линии сетки в ggplot2
Как установить пределы оси в ggplot2
Как изменить положение легенды в ggplot2