使用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)

我正在使用Alpha来设置ggplot中平滑线的透明度,但是我只能在围绕拟合线的误差带中获得透明度。
我的代码如下:
z1 <- rnorm(10)
z2 <- z1 ^ 2
error <- rnorm(10, 0.25)
y <- 1 + 0.5 * z1 + error
data1 <- data.table(y, z1, z2)
ggplot(data1) +
  geom_point(aes(x = z1, y = y), color = "blue", size = 3) +
  geom_point(aes(x = z2, y = y), color = "red", size = 3) +
  geom_smooth(method = lm, aes(x = z1, y = y), color = "blue", size = 2, alpha = 0.1) +
  geom_smooth(method = lm, aes(x = …