0

当我使用错误栏进行 ggplot 时,我很难让图例按照我的意愿行事。由于虚线看起来很荒谬,我将其强制为实线,不幸的是,这也导致图例忘记了虚线属性。

有几个类似的 SO 问题,但我还没有找到任何真正解决这个特定问题的问题(这个可能是最接近的另一个类似的可以在这里找到)。Hadley 确实在 2010 年就 R-help 列表上的一个非常相似的问题给出了答案,但我不知道如何实现它,而且看起来工作量很大,因为我的实际情节中有四行和两个方面。

测试代码

set.seed(1)
test_df <- data.frame(models = rep(paste("Model", LETTERS[1:3]), 3),
                      x = c(rep(1, 3),
                            rep(2, 3),
                            rep(3, 3)),
                      y = c(1:3,1:3+1+rnorm(3,0,.2),1:3+2)+rnorm(3,0,.3))
test_df$ymax <- test_df$y + .3
test_df$ymin <- test_df$y - .3

ggplot(test_df, aes(x=x, y=y, color=models, linetype=models)) +
  geom_line() +
  geom_errorbar(aes(ymax=ymax, ymin=ymin), linetype=1, 
                lwd=1.2, width=.5)

剧情

4

1 回答 1

3

哈,就在我放弃并准备发布我的问题时,我偶然发现了这个问题- 事实证明,guide="none"或者guide=FALSE我尝试过的不是正确的选项,关键在于show_guide选项:

ggplot(test_df, aes(x=x, y=y, color=models, linetype=models)) +
  geom_line() +
  geom_errorbar(aes(ymax=ymax, ymin=ymin), linetype=1, 
                lwd=1.2, width=.5, show_guide=FALSE)

虚线图例

于 2013-07-17T18:35:20.423 回答