又是一个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)
如果您运行上述代码,将会得到一个图例,其中包含每个组的信息,但也会有一个表示均值的垂直线(geom_vline()
)的图例。我的问题是如何去掉这个垂直线的图例?
cond
映射到了填充和颜色上。移除其中一个映射即可解决问题。 - Andrie