gpt4 book ai didi

r - 如何在ggplot wrap中添加回归线

转载 作者:行者123 更新时间:2023-12-02 04:57:33 27 4
gpt4 key购买 nike

我在向 ggplots 添加线性回归线时遇到了问题。它应该是这样的: enter image description here

这是它目前的样子: enter image description here

这是我的代码:

p <- ggplot(data = wage, aes(x = educ, y = lwage, colour = black, 
cex = IQ, pch = married, alpha = 0.7)) + geom_jitter()

p1 <- p + facet_grid(urban~experclass) + geom_smooth(se=F,method="lm")

p1 + labs(x = "Education (year)", y = "Log Wage", shape = "Marital status",
colour = "Ethnicity") + guides(alpha = FALSE)

是不是我的geom_smooth位置错了?我想要的是图中每个元素只有一条黑色回归线 - 而不是一层一层。

此外,当我添加一条回归线时,图例符号会发生变化。尤其是智商传奇看起来很奇怪。这里有什么我没有考虑到的吗?

它应该是怎样的:

enter image description here

外观:

enter image description here

最佳答案

我可以尝试至少回答您问题的一部分 - 即关于绘制一条回归线而不是每个面板两条回归线的部分。我没有你的数据,所以我不能完全复制你的问题,但我认为这会奏效。

原始 ggplot() 调用中的美学将被所有后续层继承,包括 geom_smooth。您似乎想要的是仅适用于抖动点而不适用于线的颜色美学(恰好是分组标识符)。所以你可以这样写你的代码:

    p <- ggplot(data = wage, aes(x = educ, y = lwage, 
cex = IQ, pch = married, alpha = 0.7)) +
geom_jitter()

p1 <- p + facet_grid(urban~experclass) +
geom_smooth(se=F,method="lm",
aes(colour = black))

或者,作为一个单独的 ggplot 调用,修改后的样式:

    p3 <- ggplot(data = wage, 
aes(x = educ, y = lwage,
size = IQ, shape = married, alpha = 0.7)) +
geom_jitter() +
geom_smooth(se=F,method="lm",
aes(colour = black))+
facet_grid(urban~experclass)
p3

关于r - 如何在ggplot wrap中添加回归线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20077541/

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