Как использовать прозрачный фон в ggplot2

Как использовать прозрачный фон в ggplot2

Вы можете использовать следующий синтаксис для создания прозрачного фона на графике в ggplot2:

p +
 theme(
 panel. background = element_rect(fill='transparent'), #transparent panel bg
 plot. background = element_rect(fill='transparent', color= NA ), #transparent plot bg
 panel. grid.major = element_blank(), #remove major gridlines
 panel. grid.minor = element_blank(), #remove minor gridlines
 legend.background = element_rect(fill='transparent'), #transparent legend bg
 legend.box.background = element_rect(fill='transparent') #transparent legend panel
 )

Если вы решили экспортировать график с помощью ggsave() , обязательно укажите, что фон должен быть прозрачным:

ggsave('myplot.png ' , p, bg ='transparent' )

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: используйте прозрачный фон в ggplot2

В следующем коде показано, как создать простую сгруппированную коробчатую диаграмму в ggplot2:

library (ggplot2) 

#make this example reproducible
set. seed (1)

#create dataset
data <- data.frame(team=rep(c('A', 'B', 'C'), each= 50 ),
 program=rep(c('low', 'high'), each= 25 ),
 values=seq(1:150)+sample(1:100, 150, replace= TRUE ))

#create boxplot
ggplot(data, aes (x=team, y=values, fill=program)) + 
 geom_boxplot() 

Мы можем использовать следующий код для создания прозрачного фона для графика:

library (ggplot2) 

#make this example reproducible
set. seed (1)

#create dataset
data <- data.frame(team=rep(c('A', 'B', 'C'), each= 50 ),
 program=rep(c('low', 'high'), each= 25 ),
 values=seq(1:150)+sample(1:100, 150, replace= TRUE ))

#create boxplot
p <- ggplot(data, aes (x=team, y=values, fill=program)) + 
 geom_boxplot() +
 theme(
 panel. background = element_rect(fill='transparent'),
 plot. background = element_rect(fill='transparent', color= NA ),
 panel. grid.major = element_blank(),
 panel. grid.minor = element_blank(),
 legend.background = element_rect(fill='transparent'),
 legend.box.background = element_rect(fill='transparent')
 )

#display boxplot
p 

Затем мы можем экспортировать этот график в файл PNG, указав, что фон в экспортируемом изображении должен быть прозрачным:

ggsave('grouped_boxplot.png ' , p, bg ='transparent' )

Если я открою этот экспортированный файл на своем компьютере, я увижу, что фон действительно прозрачен:

Дополнительные ресурсы

Как изменить размер шрифта в ggplot2
Как удалить легенду в ggplot2
Как удалить линии сетки в ggplot2

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.