gpt4 book ai didi

r - 调整 stat_smooth 线的透明度 (alpha),而不仅仅是置信区间的透明度

转载 作者:行者123 更新时间:2023-12-03 07:38:55 24 4
gpt4 key购买 nike

使用 ggplot2 的 stat_smooth(),我很好奇如何调整生成的回归线的透明度。使用 geom_points() 或 geom_line(),通常会设置“alpha”值,表示透明度百分比。但是,使用 stat_smooth(),alpha 设置置信区间的透明度(在下面的示例中,关闭 - se=FALSE)。

我似乎找不到一种方法使回归线的透明度低于 1。

你的建议会很棒。

示例代码

 library(reshape2)
df <- data.frame(x = 1:300)
df$y1 <- 0.5*(1/df$x + 0.1*(df$x-1)/df$x + rnorm(300,0,0.015))
df$y2 <- 0.5*(1/df$x + 0.3*(df$x-1)/df$x + rnorm(300,0,0.015))
df$y3 <- 0.5*(1/df$x + 0.6*(df$x-1)/df$x + rnorm(300,0,0.015))
df <- melt(df, id = 1)

ggplot(df, aes(x=x, y=value, color=variable)) +
geom_point(size=2) +
stat_smooth(method = "lm", formula = y ~ 0 + I(1/x) + I((x-1)/x),
se = FALSE,
size = 1.5,
alpha = 0.5)

enter image description here

最佳答案

要仅为该行设置 alpha 值,您应该将 stat_smooth() 替换为 geom_line(),然后在 geom_line() 中使用与 stat_smooth() 中的参数相同,并另外添加 stat="smooth"

ggplot(df, aes(x=x, y=value, color=variable)) +
geom_point(size=2) +
geom_line(stat="smooth",method = "lm", formula = y ~ 0 + I(1/x) + I((x-1)/x),
size = 1.5,
linetype ="dashed",
alpha = 0.5)

enter image description here

关于r - 调整 stat_smooth 线的透明度 (alpha),而不仅仅是置信区间的透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19474552/

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