Comment faire des graphiques avec un fond transparent dans R à l'aide de ggplot2?

J'ai besoin à la sortie ggplot2 graphiques de R pour les fichiers PNG avec un fond transparent. Tout est ok avec la R graphiques, mais pas de transparence avec ggplot2:

d <- rnorm(100) #generating random data

#this returns transparent png
png('tr_tst1.png',width=300,height=300,units="px",bg = "transparent")
boxplot(d)
dev.off()

df <- data.frame(y=d,x=1)
p <- ggplot(df) + stat_boxplot(aes(x = x,y=y)) 
p <- p + opts(
    panel.background = theme_rect(fill = "transparent",colour = NA), # or theme_blank()
    panel.grid.minor = theme_blank(), 
    panel.grid.major = theme_blank()
)
#returns white background
png('tr_tst2.png',width=300,height=300,units="px",bg = "transparent")
p
dev.off()

Est-il possible de l'arrière-plan transparent avec ggplot2?

  • Voir aussi cette réponse, la solution actuelle est d'ajouter theme(panel.background = element_rect(fill = "transparent", colour = NA), plot.background = element_rect(fill = "transparent", colour = NA))
  • Veuillez envisager de marquer le deuxième réponse (par YRC) comme acceptée en raison opte obsolètes.