Ajuster la Transparence (alpha) de stat_smooth lignes, et pas seulement la transparence de l'Intervalle de Confiance
À l'aide de ggplot2 de stat_smooth(), je suis curieux de voir comment on peut régler la transparence de la ligne de régression. À l'aide de geom_points() ou geom_line(), normalement définit une valeur pour "alpha", en indiquant le pourcentage de transparence. Cependant, avec stat_smooth(), alpha permet de définir la transparence de l'intervalle de confiance (dans mon exemple ci-dessous, éteint - se=FALSE).
Je n'arrive pas à trouver une façon de faire de la ligne de régression(s) une baisse de transparence que 1.
Votre avis serait merveilleux.
Exemple De 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)
Vous devez vous connecter pour publier un commentaire.
Pour définir la valeur alpha juste pour la ligne, vous devez remplacer
stat_smooth()
avecgeom_line()
et puis à l'intérieur de lageom_line()
utiliser les mêmes arguments que dansstat_smooth()
et en outre ajouterstat="smooth"
.geom_smooth
de remplissage estalpha = 0.4
Comme une alternative qui est légèrement plus intuitive -- peut-être créé depuis cette réponse, vous pouvez l'utiliser
stat_smooth (geom="line")
. La SE de l'enveloppe disparaît, si vous pouvez le rajouter avec quelque chose comme:geom_smooth (alpha=0.3, size=0, span=0.5)
stat_smooth (geom="line", alpha=0.3, size=3, span=0.5) +
La première ligne crée la SE. avec n (0 largeur) de la ligne et de la deuxième ligne ajoute la ligne au-dessus de lui. L' (actuel) de la documentation mentionne que
stat_smooth
est pour les non-standard geoms (par exemple, "la ligne").