在ggplot2中为每个构面添加多个v_lines

时间:2016-09-08 01:45:31

标签: r ggplot2

我有一个由整数和两个分类变量组成的数据框

x<-sample(1:150, 100, replace=TRUE)
z<- sample(x=c("A","B"), size=100, replace=TRUE, prob=rep(1/2, 2))
w<-sample(x=c("Site1", "Site2"), size=100, replace=TRUE, prob=rep(1/2,2))
df<-cbind(x,z,w)
df<-data.frame(df)
colnames(df) <- c("Age", "Maturity", "Site")
df$x<-as.numeric(df$x)

我正在尝试使用ggplot绘制两个重叠密度图的图,这些图通过成熟阶段着色,每个阶段使用平均垂直线,并由场地分割。我用过这段代码

cdat <- ddply(df, "Maturity", summarise, Agemean=mean(Age))
ggplot(df, aes(x=Age, fill=Maturity)) + geom_density(alpha=.2) + 
geom_vline(data=cdat, aes(xintercept=Agemean,  colour=Maturity),
         linetype="dashed", size=1)+
          facet_grid(Site~.)

我希望情节有4个vlines,每个方面有2个成熟阶段。我四处寻找答案,发现我必须创建一个具有平均值的数据框,但我只能使它为每个方面应用一个唯一的vline。

任何帮助将不胜感激

P.S。抱歉数据生成代码有多乱。

0 个答案:

没有答案