【问题标题】:Adjust Transparency (alpha) of stat_smooth lines, not just transparency of Confidence Interval调整 stat_smooth 线条的透明度 (alpha),而不仅仅是置信区间的透明度
【发布时间】:2013-10-28 18:23:43
【问题描述】:

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

【问题讨论】:

    标签: r ggplot2 transparency alpha


    【解决方案1】:

    要仅为该行设置 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)
    

    【讨论】:

    • 只是备注:使用这​​种方法,置信区间已经消失。我发布了另一个关于此的问题:stackoverflow.com/q/29235114/3871924
    • @Didzis Elferts,您知道这个问题的更好解决方案吗?任何 ggplot 扩展或改进?
    • 自我说明:geom_smooth 填充的当前(2018 年 11 月)alpha 的默认值是 alpha = 0.4
    【解决方案2】:

    作为一种更直观的替代方法——可能是在这个答案之后创建的——你可以使用stat_smooth (geom="line")。 SE 信封消失了,但您可以通过以下方式将其添加回来:

    geom_smooth (alpha=0.3, size=0, span=0.5) stat_smooth (geom="line", alpha=0.3, size=3, span=0.5) +

    第一行创建 SE。没有(0-width)行,第二行在其顶部添加行。 (当前)文档提到 stat_smooth 用于非标准几何图形(例如“线”)。

    【讨论】:

    • 设置 size=0 不再使线条消失。或者,您可以使用参数 linetype=0 绘制没有平滑线的标准误差。
    猜你喜欢
    • 2016-04-07
    • 1970-01-01
    • 2016-03-01
    • 2012-07-28
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 2013-07-15
    相关资源
    最近更新 更多