Hoe een transparante achtergrond te gebruiken in ggplot2


U kunt de volgende syntaxis gebruiken om een transparante achtergrond in een plot in ggplot2 te maken:

 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
  )

Als u besluit de plot te exporteren met ggsave() , zorg er dan voor dat u specificeert dat de achtergrond transparant moet zijn:

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

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: gebruik van een transparante achtergrond in ggplot2

De volgende code laat zien hoe u een eenvoudige gegroepeerde boxplot maakt 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() 

We kunnen de volgende code gebruiken om een transparante achtergrond voor de plot te maken:

 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 

We kunnen dit pad vervolgens exporteren naar een PNG-bestand, waarbij we specificeren dat de achtergrond transparant moet zijn in de geëxporteerde afbeelding:

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

Als ik dit geëxporteerde bestand op mijn computer open, zie ik dat de achtergrond transparant is:

Aanvullende bronnen

Hoe de lettergrootte in ggplot2 te veranderen
Hoe een legenda in ggplot2 te verwijderen
Hoe rasterlijnen in ggplot2 te verwijderen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert