【发布时间】:2012-03-26 14:06:49
【问题描述】:
另一个 ggplot 传奇问题!
我有一个表单数据集
test <- data.frame(
cond = factor(rep(c("A", "B"), each=200)),
value = c(rnorm(200), rnorm(200, mean=0.8))
)
所以两组和一些值,我想绘制密度。我还想在图中添加一条表示每个组平均值的线,所以我:
test.cdf <- ddply(test, .(cond), summarise, value.mean=mean(value))
然后在ggplot调用中:
ggplot(test, aes(value, fill=cond)) +
geom_density(alpha=0.5) +
labs(x='Energy', y='Density', fill='Group') +
opts(
panel.background=theme_blank(),
panel.grid.major=theme_blank(),
panel.grid.minor=theme_blank(),
panel.border=theme_blank(),
axis.line=theme_segment()
) +
geom_vline(data=test.cdf, aes(xintercept=value.mean, colour=cond),
linetype='dashed', size=1)
如果你运行上面的代码,你会得到一个表示每个组的图例,还有一个表示平均值指标 vline 的图例。我的问题是如何摆脱geom_vline() 的传说?
【问题讨论】:
-
您已将
cond映射到填充和颜色。删除其中一个映射应该可以解决问题。 -
我的回答对你有用吗?