gpt4 book ai didi

r - ggplot2 使用 geom_line 和 geom_smooth 显示图例

转载 作者:行者123 更新时间:2023-12-02 20:07:22 25 4
gpt4 key购买 nike

我正在尝试使用以下代码为 geom_smooth 和 geom_abline 生成图例

ggplot(data = d, aes(x = log(x), y =log(y) )) +
geom_hex() +
geom_smooth(method='lm',formula=y~x, color = "red", show.legend=TRUE) +
geom_abline(color = "green", show.legend=TRUE) +
scale_colour_manual(name='Lines', values=c("Regression", "Abline"))+
theme_bw()

我在这里看到一个相关的问题:ggplot2 legend for abline and stat_smooth ,但推荐的解决方案均未生成图例。有任何想法吗?

一些假数据:

x <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
y <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
d <- data.frame(x = x, y = y)

编辑:按照 Camile 的建议,我添加了 aes() 环绕颜色,但无济于事。

ggplot(data = d, aes(x = log(x), y =log(y) )) +
geom_hex() +
geom_smooth(method='lm',formula=y~x, aes(color = "red"), show.legend=TRUE) +
geom_abline(aes(color = "green"), show.legend=TRUE) +
scale_colour_manual(name='Lines', values=c("Regression", "Abline"))+
theme_bw()

这适用于 geom_smooth 线,但现在 geom_abline 说:“错误:geom_abline 需要以下缺失的美学:坡度、截距”

最佳答案

这里有一个选项

ggplot(data = d, aes(x = log(x), y =log(y) )) +
geom_hex() +
geom_smooth(method='lm',formula=y~x, aes(color = "red")) +
geom_abline(aes(slope = 1, intercept = 0, color = "green"), show.legend=FALSE) +
scale_colour_manual(name='Lines',
labels = c("Abline", "Regression"),
values=c("green", "red")) +
theme_bw()

当我们将 color 映射到 geom_abline 中的 "green"ggplot 提示

error: geom_abline requires the following missing aesthetics: slope, intercept

这就是为什么我也必须包括这些美学。

enter image description here

关于r - ggplot2 使用 geom_line 和 geom_smooth 显示图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54371708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com