Как изменить цвет фона в ggplot2 (с примерами)


Вы можете использовать следующий синтаксис для изменения цвета фона различных элементов на графике 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