В дополнение к panel.background
есть опция plot.background
:
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(),
plot.background = theme_rect(fill = "transparent",colour = NA)
)
#returns white background
png('tr_tst2.png',width=300,height=300,units="px",bg = "transparent")
print(p)
dev.off()
По какой-то причине загруженное изображение отображается иначе, чем на моем компьютере, поэтому я опустил его. Но для меня я получаю сюжет с совершенно серым фоном, за исключением коробки в коробке, которая все еще белая. Я думаю, что это можно изменить, используя эстетику заливки в геометрии boxplot.
Edit
ggplot2 с тех пор обновлен и функция opts()
устарела. В настоящее время вместо theme_rect()
и panel.background
вместо opts()
и element_rect()
вы будете использовать theme()
и т. Д.