不同的alpha值由facet与ggplot中的facet_wrap组成

时间:2014-09-17 21:25:39

标签: r ggplot2 facet-wrap

我有一个来自单个长数据帧的图表,该数据框基于其中一列进行分面。这产生了一个小平面图,其方式比另一个更多。我想为具有更多观测值的构面设置低alpha值,但保留构面的默认alpha值,观察次数较少。

这是我的代码的复制品。

df <- data.frame(spons=sample(c(1:100),10000, replace=T), variable='score', value=runif(10000, -1,1), time=rep(1:10, 1000), DataSub=sample(c('original', 'matched'),10000,replace=T,  prob=c(0.01, 0.99)))
p <- ggplot(df, aes(x=factor(time), y=factor(spons)))
p+geom_point()+facet_grid(DataSub~., ncol=2)

我希望它看起来像是更密集的情节有alpha = 0.01或类似的东西,但留下更稀疏的情节。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用您曾经用作alpha美学的相同变量,然后手动设置值,如下所示

p+geom_point(aes(alpha=DataSub))+
   facet_grid(DataSub~.)+scale_alpha_manual(values=c(0.01,1))

这有帮助,但在我的屏幕上至少很难在上面板中找出很多密度变化(values=c(0.02,1)似乎好一点:另外使用theme_bw()+ theme(panel.grid.minor=element_blank(),panel.grid.major=element_blank())有助于更多通过清除背景,但你可能不想走那么远)