Cómo mezclar de manera óptima una paleta de colores (n = 5) con una segunda paleta de colores (n = 4) más una variable de luminancia (n = 4) en una matriz (total de 5 * 4 * 4 = 80 colores)
Usando R, ¿habría alguna manera, sea cual sea, de mezclar una paleta roja (n=5 niveles) con una paleta naranja (n=4 niveles), y mezclar cada uno de los colores resultantes 5×4 de acuerdo con una variable de luminancia (o transparencia/opacidad) (n=4 niveles) para que los 5x4x4=80 colores sean óptimamente distintos entre sí (es decir, distribuidos uniformemente), ¿y luego obtener los códigos hexadecimales de los colores correspondientes?
A continuación, se muestra una descripción general de la matriz de colores/luminancia para mezclar de Excel.
Muchas gracias.
davy.ai
Sí, es posible mezclar una paleta roja y una paleta naranja en R y ajustar la luminancia o transparencia de cada color resultante. Una forma de hacer esto es usando las funciones
colorRampPalette()
yhex()
en R.Primero, podemos definir las paletas roja y naranja usando la función
colorRampPalette()
. Por ejemplo, para crear una paleta roja con 5 niveles y una paleta naranja con 4 niveles, podemos usar:A continuación, podemos crear una matriz de todas las posibles combinaciones de los colores rojo y naranja usando la función
expand.grid()
. También podemos definir los niveles de luminancia o transparencia como una variable separada en la matriz. Por ejemplo:Esto creará una matriz con 80 filas, cada una representando una combinación única de rojo y naranja con un nivel diferente de luminancia.
Para asegurarnos de que los colores resultantes sean óptimamente distintos entre sí, podemos usar la función
distinguishable.colors()
del paqueteRColorBrewer
. Esta función nos permite seleccionar un conjunto de colores que son máximamente distintos entre sí en función del espacio perceptual de color. Por ejemplo:Finalmente, podemos asignar cada fila de la matriz de colores a un código hex correspondiente del conjunto
distinct_colors
usando la funciónhex()
. Por ejemplo, para crear una nueva columna en la matriz de colores con los códigos hex correspondientes, podemos usar:Esto creará una nueva columna en el marco de datos
color_matrix
con los códigos hex para los 80 colores resultantes.Tenga en cuenta que los colores resultantes pueden no aparecer distribuidos de manera uniforme al imprimir en papel o mostrar en una pantalla, ya que esto depende de varios factores como la configuración de impresión, la resolución de la pantalla y las condiciones de iluminación ambiental. Sin embargo, seleccionando colores máximamente distintos y ajustando la luminancia o transparencia de cada color, podemos asegurarnos de que los colores resultantes sean óptimamente distinguibles entre sí en la mayoría de los contextos.