当我使用错误栏进行 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)