2016-06-28 10 views
1

私の出力にしたいggplot2グラフィックスは透明な境界線(パネル)ですが、白い(透明ではない)プロット背景を持っています。ggplotのパネルの透明度

私は、これら二つのオプション

d <- rnorm(100) 
df <- data.frame(y = d, x = 1) 
p <- ggplot(df) + stat_boxplot(aes(x = x, y = y)) 
# first option 
p <- p + theme(
    panel.background = element_rect(fill = "transparent", colour = NA), 
    panel.grid.minor = element_blank(), 
    panel.grid.major = element_blank() 
) 
# second option 
# p <- p + theme(
# panel.background = element_rect(fill = "transparent", colour = NA), 
# panel.grid.minor = element_blank(), 
# panel.grid.major = element_blank(), 
# plot.background = element_rect(fill = "transparent", colour = NA) 
#) 

png('plot.png', width = 300, height = 300, units = "px", bg = "transparent") 
print(p) 
dev.off() 

を試してみましたしかし、私はまあ、トリックが明らかである物足りない出力 enter image description here

答えて

2

ました。私はパネルとプロットの背景が何であるか誤解しています。だからこれはうまくいくはずです:

# third option 
p <- p + theme(
    panel.grid.minor = element_blank(), 
    panel.grid.major = element_blank(), 
    plot.background = element_rect(fill = "transparent", colour = NA) 
)