微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用R中的geom_smooth在ggplot2图例中混合填充颜色

geom_smooth()中使用ggplot2中的fill绘制两条回归曲线时,对于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) 颜色,图例会选择置信区间相交的一条。我确实认为这种行为是在重叠区域成比例地大于另一个重叠区域时发生的,但是我发现这是非常不希望的,因为读者能够推断出“暗化”区域是CI相交的区域。恕我直言,为两条曲线分配相同的颜色有点困难或不直观。

我该如何纠正?

MWE:

{{1}}

输出

The data and colors used here are used for illustration purposes only

解决方法

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

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 = "")

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。