2013-03-14 23 views
3

我工作的一些密度圖,其中填充的條件是一個值(0.05)ggplots有條件的色標

library(plyr) 
library(ggplot2) 

allNorm<-data.frame(value=rnorm(300), 
       aCategory=rep(1:3, c(100, 100, 100))) 
allNorm<-ddply(allNorm, .(aCategory), mutate, 
      shapWilkP=shapiro.test(value)$p.value) 

mixed<-data.frame(value=c(rlnorm(200), rnorm(100)), 
       aCategory=rep(1:3, c(100, 100, 100))) 
mixed<-ddply(mixed, .(aCategory), mutate, 
      shapWilkP=shapiro.test(value)$p.value) 

ggplot(allNorm, (aes(x=value)))+ 
    geom_density(aes(fill=shapWilkP>0.05))+ 
    facet_wrap(~aCategory) 

ggplot(mixed, (aes(x=value)))+ 
    geom_density(aes(fill=shapWilkP>0.05))+ 
    facet_wrap(~aCategory) 

此作品(幾乎) - 我只需要找出如何強制TRUE以一直是藍色的。

可能有人幫助嗎?

感謝

回答

4

添加到這兩個地塊scale_fill_manual(),你的TRUEFALSE值設置所需的顏色。

+ scale_fill_manual(values=c("FALSE"="red","TRUE"="blue")) 
+0

太棒了 - 我還有scale_fill_manual(values = c(「red」,「blue」))。不知道你可以添加TRUE和FALSE。非常感謝你。 – 2013-03-14 18:30:11