4

基础知识:使用 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')

在此处输入图像描述 编辑:添加图像

干杯,瑞恩

4

1 回答 1

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')

在此处输入图像描述

于 2013-02-18T18:49:10.843 回答