使用R中的geom_smooth()在ggplot2图例中混合填充颜色

Sil*_*leo 3 r fill ggplot2 confidence-interval

当使用geom_smooth()in绘制两条回归曲线时ggplot2,作为fill颜色,图例会选择置信区间相交的那条曲线。我确实认为当重叠区域按比例大于另一个区域时就会出现这种行为,但是我发现这是非常不受欢迎的,因为读者能够推断出“变暗”区域是 CI 相交的区域。恕我直言,为两条曲线分配相同的颜色有点困难或不直观。

我该如何纠正这个问题?

微量元素:

library(ggplot2)

p <- ggplot(data=iris, aes(x=Sepal.Width, y=Sepal.Length)) + geom_point()
p <- p + geom_smooth(method=loess, aes(colour="Loess"), fill="yellow")
p <- p + geom_smooth(method=lm, aes(colour="LM"))

print(p)
Run Code Online (Sandbox Code Playgroud)

输出:

此处使用的数据和颜色仅用于说明目的

All*_*ron 5

您可以将填充添加为美学映射,确保将其命名为与颜色映射相同的名称,以便合并图例:

library(ggplot2)

ggplot(data=iris, aes(x=Sepal.Width, y=Sepal.Length)) +
  geom_point(aes(shape = "data")) +
  geom_smooth(method=loess, aes(colour="Loess", fill="Loess")) +
  geom_smooth(method=lm, aes(colour="LM", fill = "LM")) +
  scale_fill_manual(values = c("yellow", "gray"), name = "model")  +
  scale_colour_manual(values = c("red", "blue"), name = "model") +
  labs(shape = "")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 你以秒之差击败了我。这值得+1 一如既往,你太棒了! (2认同)