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

时间:2017-06-11 14:19:18

标签: r ggplot2 alpha scatter-plot smoothing

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

输出是这样的: enter image description here

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

您的建议将不胜感激。

1 个答案:

答案 0 :(得分:4)

您可以使用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) 

相关问题