Come utilizzare lo sfondo trasparente in ggplot2


Puoi utilizzare la seguente sintassi per creare uno sfondo trasparente in una trama in 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 decidi di esportare la trama utilizzando ggsave() , assicurati di specificare che lo sfondo deve essere trasparente:

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

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: utilizzo di uno sfondo trasparente in ggplot2

Il codice seguente mostra come creare un semplice boxplot raggruppato in 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() 

Possiamo usare il seguente codice per creare uno sfondo trasparente per la trama:

 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 

Possiamo poi esportare questo percorso in un file PNG, specificando che lo sfondo deve essere trasparente nell’immagine esportata:

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

Se apro questo file esportato sul mio computer, vedo che lo sfondo è trasparente:

Risorse addizionali

Come cambiare la dimensione del carattere in ggplot2
Come rimuovere una legenda in ggplot2
Come rimuovere la griglia in ggplot2

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *