在 R 中使用 geom_smooth() 在 ggplot2 图例中混合填充颜色
Mixed fill color in ggplot2 legend using geom_smooth() in R
在 ggplot2
中使用 geom_smooth()
绘制两条回归曲线时,对于 fill
颜色,图例会选择置信区间相交的曲线。我确实认为当重叠区域按比例大于另一个时会出现这种行为,但是我发现这是非常不希望的,因为 reader 能够推断出“变暗”区域是 CI相交。恕我直言,为两条曲线分配相同的颜色有点困难或不直观。
我该如何纠正?
MWE:
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)
输出:
您可以将填充添加为美学映射,确保您将其命名为与颜色映射相同的名称以合并图例:
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 = "")
在 ggplot2
中使用 geom_smooth()
绘制两条回归曲线时,对于 fill
颜色,图例会选择置信区间相交的曲线。我确实认为当重叠区域按比例大于另一个时会出现这种行为,但是我发现这是非常不希望的,因为 reader 能够推断出“变暗”区域是 CI相交。恕我直言,为两条曲线分配相同的颜色有点困难或不直观。
我该如何纠正?
MWE:
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)
输出:
您可以将填充添加为美学映射,确保您将其命名为与颜色映射相同的名称以合并图例:
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 = "")