gpt4 book ai didi

r - 如何在散点图上的 stat_smooth 曲线下创建一个区域?

转载 作者:行者123 更新时间:2023-12-05 03:26:11 26 4
gpt4 key购买 nike

我正在根据具有 2 个质量条件的时间绘制代谢率的散点图,我正在使用带有 lm 模型的 stat_smooth 函数来绘制散点图的曲线。我想在这些曲线下创建一个区域(每种质量使用不同的颜色),但是当我尝试使用 geom_ribbon 时,它会根据点而不是曲线创建区域。

这是我的脚本:

metabo_temps_quantity = ggplot(data_metabo, aes(x = time, y = metabolic_rate, col=quality)) +
geom_point(aes(color = quality), size = 3)+
geom_ribbon(data=data_metabo,aes(x=time,ymax=metabolic_rate),ymin=0, alpha=0.3) +
theme_classic()+
stat_smooth(method='lm')+
facet_wrap(~quantity)+
theme_minimal()+
theme_grey(base_size = 22)
metabo_temps_quantity

我该怎么做?

提前致谢!

最佳答案

您可以通过设置 geom="area"(这是一个从 0 开始的色带)的第二个 stat_smooth 实现您想要的结果。为了去掉轮廓,我设置了 size=0。要设置填充颜色,请将您在 color 上映射的列映射到该层的 fill 上。

使用 mtcars 作为示例数据:

library(ggplot2)

ggplot(mtcars, aes(hp, mpg, color = factor(cyl))) +
geom_point() +
stat_smooth(method='lm') +
stat_smooth(aes(fill = factor(cyl)), method='lm', geom = "area", alpha = .3, size = 0)
#> `geom_smooth()` using formula 'y ~ x'
#> `geom_smooth()` using formula 'y ~ x'

关于r - 如何在散点图上的 stat_smooth 曲线下创建一个区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71798322/

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