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

我似乎找不到办法使回归线的透明度低于1.

你的建议太好了.

Sample Code

 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值,应将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)

在此处输入图像描述

R相关问答推荐

R:将列名的字符载体传递给可以 Select 接受多个参数的函数

仅在ggplot的每个方面绘制最丰富的物种

R图中的字体大小和字体样式(带有R底图)

如何在ggplot 2 geom_segment图表中将UTC转换为EET?

在R底座中更改白天和夜晚的背景 colored颜色

如何使用R Shiny中的条件面板仅隐藏和显示用户输入,同时仍允许运行基础计算?

bslib::card_header中的shine::downloadButton,图标而不是文本

计算时间段的ECDF(R)

汇总数据表中两个特定列条目的值

R中插入符号训练函数的中心因子和尺度因子预测

在数组索引上复制矩阵时出错

计算两列中满足特定条件连续行之间的平均值

汇总数据帧中的复制列,保持行的唯一性

将全局环境变量的名称分配给列表中的所有元素

如何根据未知数的多列排除重复行

是否有可能从边界中找到一个点值?

SHILINY中DT列的条件着色

如何在条形图中的x和填充变量中包含多个响应变量?

R-使用stri_trans_General()将其音译为德语字母

在ggplot2图表中通过端点连接点