52

ggplot2 の stat_smooth() を使用して、生成された回帰直線の透明度を調整する方法に興味があります。geom_points() または geom_line() を使用して、通常、透過率を示す「アルファ」の値を設定します。ただし、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)

ここに画像の説明を入力

4

2 に答える 2

77

行だけにアルファ値を設定するには、 で置き換えstat_smooth()geom_line()から、geom_line()in と同じ引数を使用し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)

ここに画像の説明を入力

于 2013-10-20T06:33:39.333 に答える