相关疑难解决方法(0)

调整stat_smooth行的透明度(alpha),而不仅仅是Confidence Interval的透明度

使用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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

transparency alpha r ggplot2

37
推荐指数
2
解决办法
1万
查看次数

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

我正在使用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 = …
Run Code Online (Sandbox Code Playgroud)

alpha r scatter-plot smoothing ggplot2

3
推荐指数
1
解决办法
1528
查看次数

标签 统计

alpha ×2

ggplot2 ×2

r ×2

scatter-plot ×1

smoothing ×1

transparency ×1