Como usar fundo transparente no ggplot2


Você pode usar a seguinte sintaxe para criar um fundo transparente em um gráfico no 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
  )

Se você decidir exportar o gráfico usando ggsave() , certifique-se de especificar que o fundo deve ser transparente:

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

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: usando um fundo transparente no ggplot2

O código a seguir mostra como criar um boxplot agrupado simples em ggplot2:

 library (ggplot2) 

#make this example reproducible
set. seeds (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() 

Podemos usar o seguinte código para criar um fundo transparente para o gráfico:

 library (ggplot2) 

#make this example reproducible
set. seeds (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 

Podemos então exportar este caminho para um arquivo PNG, especificando que o fundo deve ser transparente na imagem exportada:

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

Se eu abrir este arquivo exportado no meu computador, vejo que o fundo é transparente:

Recursos adicionais

Como alterar o tamanho da fonte no ggplot2
Como remover uma legenda no ggplot2
Como remover linhas de grade no ggplot2

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *