2016-02-26 102 views
3

這裏是我一起工作的代碼:堆焊小提琴地塊在GGPLOT2與透明體

library(ggplot2) 
coco1<-rnorm(10000,0,1) 
coco2<-rnorm(10000,10,5) 
coco3<-rnorm(10000,20,10) 
coco4<-rnorm(10000,30,20) 
decile<-rbinom(10000,3,1/2)+1 
coconut<-data.frame(coco1,coco2,coco3,coco4,decile) 

p <- ggplot(coconut, aes(factor(decile), coco1)) 
p <- p + geom_violin(aes(colour = "1"), alpha = .5, size=2) 
q <- p + geom_violin(aes(y = coco2, colour = "2"), alpha = .5, size=2) 
q <- q + geom_violin(aes(y = coco3, colour = "3"), alpha = .5, size=2) 
q <- q + geom_violin(aes(y = coco4, colour = "4"), alpha = .5, size=2) 

q 

產生這一形象:

enter image description here

通知小提琴的身體如何創建一個透明度問題,你去的小提琴層層疊疊嗎?理想情況下,我希望身體有alpha = 0和身體的輪廓有alpha = 1。

+0

'geom_violin(填充= 「透明」)'? – zx8754

+0

[如何使用ggplot2在R中使用透明背景製作圖形的可能的重複?](http://stackoverflow.com/questions/7455046/how-to-make-graphics-with-transparent-background-in-r-using -ggplot2) – zx8754

回答

3
p <- ggplot(coconut, aes(factor(decile), coco1)) + 
    geom_violin(aes(colour = "1"), fill = NA, size=2) + 
    geom_violin(aes(y = coco2, colour = "2"), fill = NA, size=2) + 
    geom_violin(aes(y = coco3, colour = "3"), fill = NA, size=2) + 
    geom_violin(aes(y = coco4, colour = "4"), fill = NA, size=2) 

p 

resulting plot

+0

它工作。謝謝。我之前完成了fill = F,但它不起作用。 NA似乎是一個明顯的選擇。 – evoclue