如何为ggplot中的平滑线设置alpha

How to set alpha for the smoothing line in ggplot

我在 ggplot 中使用 alpha 设置平滑线的透明度,但我只在拟合线周围的误差带中获得透明度。

我的代码如下:

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 = z2, y = y), color = "red", size = 2, alpha = 0.1) 

输出是这样的:

如何显式设置回归线的透明度?

我们将不胜感激您的建议。

您可以使用 geom_line 对回归线进行更精细的控制。


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_line(stat = "smooth", method = lm, aes(x = z1, y = y), color = "blue", size = 2, alpha = 0.1) +
  geom_line(stat = "smooth", method = lm, aes(x = z2, y = y), color = "red", size = 2, alpha = 0.1) +
  geom_smooth(method = lm, aes(x = z1, y = y), color = NA, size = 2, alpha = 0.1) +
  geom_smooth(method = lm, aes(x = z2, y = y), color = NA, size = 2, alpha = 0.1)