He tenido esto algunas veces, así que aquí va: estoy haciendo algunos trazados que contienen curvas con estimaciones de un parámetro dado un parámetro de ajuste.equivalente transparente del color dado
Normalmente, también tengo SD para cada valor estimado, por lo que podría mostrar barras de error alrededor de cada uno de ellos.
Sin embargo, no me gustan las barras de error, y preferiría una versión suavizada de la misma. Esto no es un problema en sí mismo (es decir, sé cómo hacer esto). Sin embargo, mi trama contiene varias de estas curvas similares, cada una en su propio color. Así que me gustaría agregar la 'región de error suavizada' a cada curva en un color que coincida con el color de la curva en sí. Por supuesto, me gustaría hacer esto de forma transparente, por lo que todavía puedo ver las otras curvas a través de la "región de error".
Entonces, mi pregunta es: dado un color (especificado por un número, un nombre o un valor rgb --- tenga en cuenta que los dos primeros plantean un problema adicional, pero esto ocurre con bastante frecuencia, ya que las funciones básicas de trazado tomar estos como valores de color válidos), ¿cómo puedo encontrar el color coincidente que tiene el mismo rgb pero un nivel alfa diferente (dado) (transparencia). Me gustaría una función como:
makeTransparent<-function(someColor, alpha=100)
{
newColor<-someColor + alpha #I wish
return(newColor)
}
Esto debería funcionar para cosas como:
makeTransparent(2)
makeTransparent("red")
makeTransparent(rgb(0,0,1))
Editar odio cuando me olvido de algo obvio, pero @themel me señaló a él (gracias de nuevo) Aquí es una solución completa (nota: los trabajos vectorizados, por lo que puede pasar más de un color, y sólo una alfa se admite en este momento sin embargo):
#note: always pass alpha on the 0-255 scale
makeTransparent<-function(someColor, alpha=100)
{
newColor<-col2rgb(someColor)
apply(newColor, 2, function(curcoldata){rgb(red=curcoldata[1], green=curcoldata[2],
blue=curcoldata[3],alpha=alpha, maxColorValue=255)})
}
'ggplot2 :: alpha()' maybe? – baptiste
También hay 'alfa' en' escalas', quizás estén relacionados. El uno es escalas tiene una interfaz muy agradable. Es bastante flexible en su entrada.Creo que cualquier expresión de la forma 'plot (data, col = colors)' puede ser reemplazada por 'plot (data, col = alpha (colors, 0.5))' para obtener un 50% de transparencia. Esto funciona incluso si 'colors' es simplemente un vector de enteros que selecciona un color de la paleta estándar. –
algo relacionado (según Google de todos modos) y que encontré muy útil: https://gist.github.com/mages/5339689/raw/576263b8f0550125b61f4ddba127f5aa00fa2014/add.alpha.R – PatrickT