当错误栏是固定的时,在ggplot中使用虚线获取图例

时间:2013-07-17 18:35:20

标签: r ggplot2 legend

当我使用错误栏进行ggplot时,我很难让传奇按照我的意愿行事。由于错误栏用虚线看起来很荒谬,我强迫它变成一个坚实的,不幸的是,这也导致传说忘记了虚线属性。

有几个类似的SO问题,但我没有找到真正解决这个特定问题的任何问题(this one is probably the closestanother similar can be found here)。 Hadley确实在R-help列表上的一个非常similar question给出了答案,但是我不知道如何实现它,也似乎很多工作,因为我实际上有四行和两个方面曲线图。

测试代码

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)

The plot

1 个答案:

答案 0 :(得分:2)

哈,就像我已经放弃并即将发布我的问题一样,我偶然发现了this question - 事实证明我曾尝试的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)

Dashed legend