scale_fill_manual scale_alpha_manual ggplot geom_point color r ggplot2 transparency alpha

r - ggplot - scale_alpha_manual



Ajuste la transparencia(alfa) de las lĂ­neas stat_smooth, no solo la transparencia del intervalo de confianza (2)

Como alternativa que es un poco más intuitiva, quizás creada desde esta respuesta, puede usar stat_smooth (geom="line") . El sobre del SE desaparece, aunque puedes agregarlo de nuevo con algo como:

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

La primera línea crea el SE. sin línea (0-ancho), y la segunda línea agrega la línea encima de ella. La documentación (actual) menciona que stat_smooth es para stat_smooth no estándar (por ejemplo, "línea").

Usando stat_smooth () de ggplot2, tengo curiosidad de cómo se podría ajustar la transparencia de la línea de regresión generada. Usando geom_points () o geom_line (), uno normalmente establece un valor para ''alpha'', que indica el porcentaje de transparencia. Sin embargo, con stat_smooth (), alpha establece la transparencia del intervalo de confianza (en mi ejemplo a continuación, desactivado - se = FALSE).

Parece que no puedo encontrar una manera de hacer que la (s) línea (s) de regresión tengan una transparencia menor que 1.

Tu consejo sería maravilloso.

Código de muestra

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)


Para establecer el valor alfa solo para la línea, debe reemplazar stat_smooth() con geom_line() y luego dentro de geom_line() use los mismos argumentos que en stat_smooth() y adicionalmente agregue 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)