基础: 使用R统计软件ggplot2,geom_vline和geom_histogram可视化一些数据。问题在于图例键。
我正在尝试从一些随机模拟中绘制一对直方图,并在该图的顶部有几行代表确定性模拟的结果。我已经绘制了数据,但直方图的图例键在它们的中间有一条不必要的黑线。你能帮我删除那些黑线吗?一些重现问题的示例代码在这里:
df1 <- data.frame(cond = factor( rep(c("A","B"), each=200) ),
rating = c(rnorm(200),rnorm(200, mean=.8)))
df2 <- data.frame(x=c(.5,1),cond=factor(c("A","B")))
ggplot(df1, aes(x=rating, fill=cond)) +
geom_histogram(binwidth=.5, position="dodge") +
geom_vline(data=df2,aes(xintercept=x,linetype=factor(cond)),
show_guide=TRUE) +
labs(fill='Stochastic',linetype='Deterministic')
编辑:添加图片
干杯, 莱恩
答案 0 :(得分:3)
一种解决方法是更改geom_histogram()
和geom_vline()
的顺序。然后添加另一个geom_vline()
而不aes()
,只需添加xintercept=
和linetype=
。这不会删除行,但会将它们隐藏在颜色图例条目下。
ggplot(data=df1, aes(x=rating, fill=cond)) +
geom_vline(data=df2,aes(xintercept=x,linetype=factor(cond)),
show_guide=TRUE) +
geom_histogram(binwidth=.5, position="dodge") +
geom_vline(xintercep=df2$x,linetype=c(1,3))+
labs(fill='Stochastic',linetype='Deterministic')