Necesito un conjunto grande (20 y más) de colores contrastados y fáciles de distinguir visualmente para colorear diferentes conjuntos de datos en un gráfico científico (el conjunto de colores no debe incluir blanco o negro, y los colores deben ser lo más brillantes posible).
La trama se genera mediante programación y está destinada a ser incluida en una presentación que se mostrará mediante un proyector.
¿Hay conjuntos de colores listos para usar para tal tarea (necesito colores como un conjunto de valores RGB)?
¿O tal vez hay algún algoritmo que genera un conjunto de colores de este tipo mediante programación (uso Wolfram Mathematica para la generación de gráficos)?
PD La trama en sí puede parecer, por ejemplo, similar a esta:
gracias a un gran trabajo
(¡y al usuario ohadsc que hizo referencia a él!) ahora conozco al menos 3 conjuntos de colores listos para usar de máximo contraste que contienen no menos de 20 colores (pero todavía tengo valores RBG explícitos solo para uno de ellos):
1) El conjunto de 22 colores de máximo contraste que propone Kenneth Kelly en la obra:
K. Kelly (1965): Veintidós colores de máximo contraste. // Ing. de color, 3(6)
Detalles (citando a P. Green-Armytage): "El orden de los colores en la lista de Kelly se planificó para que hubiera el máximo contraste entre los colores en un conjunto si la cantidad requerida de colores siempre se seleccionaba en orden desde la parte superior. <.. .> Kelly se ocupó de las necesidades de las personas con visión cromática defectuosa. Los primeros nueve colores serían muy diferentes para esas personas y para las personas con visión normal. Estos nueve colores también se distinguen fácilmente por el nombre del color".
Información adicional (citando a P. Green-Armytage): "El ISCC estableció el Comité de Proyecto 54 con la intención de actualizar el trabajo de Kelly. Sin embargo, el comité decidió que, por lo que estaban tratando de hacer, no podían mejorar en El juego de colores de Kelly".
2) El conjunto de 25 colores sugerido por Robert y Ellen Carter en la obra:
Detalles (citando a P. Green-Armytage): "Carter y Carter hacen referencia al trabajo de Kelly y verifican su suposición de que la facilidad con la que se pueden discriminar dos colores depende de qué tan separados estén los colores en el espacio de color. De los espacios de color disponibles en ese momento eligieron CIE L u v* como el más apropiado para su estudio. <...> Descubrieron que la capacidad de las personas para identificar correctamente los colores disminuía rápidamente cuando la distancia entre los colores era inferior a 40 unidades CIE L u v*". En su trabajo presentan un conjunto de 25 colores separados por al menos 51,6 unidades CIE L u v*.
3) El conjunto de 26 colores para el Proyecto del Alfabeto de Colores sugerido por Paul Green-Armytage en el trabajo citado anteriormente "Un Alfabeto de Colores y los Límites de la Codificación de Colores". Este conjunto de colores está diseñado para usarse con fondo blanco. Los tripletes RGB de este conjunto son: {240,163,255},{0,117,220},{153,63,0},{76,0,92},{25,25,25},{0,92,49},{43,206,72},{255,204,153},{128,128,128},{148,255,181},{143,124,0},{157,204,0},{194,0,136},{0,51,128},{255,164,5},{255,168,187},{66,102,0},{255,0,16},{94,241,242},{0,153,143},{224,255,102},{116,10,255},{153,0,0},{255,255,128},{255,255,0},{255,80,5}
.
4) Hay otro excelente artículo sobre el tema:
Este artículo contiene un bonito conjunto de 26 colores distintos en la página 11:
Los tripletes RGB de este conjunto son: {2,63,165},{125,135,185},{190,193,212},{214,188,192},{187,119,132},{142,6,59},{74,111,227},{133,149,225},{181,187,227},{230,175,185},{224,123,145},{211,63,106},{17,198,56},{141,213,147},{198,222,199},{234,211,198},{240,185,141},{239,151,8},{15,207,192},{156,222,214},{213,234,231},{243,225,235},{246,196,225},{247,156,212}
.
El usuario Tatarize sugiere en su blog :
5) Un conjunto de 64 colores máximamente diferentes :
6) Un diccionario de colores de 269 colores máximos distintos de todos los colores anteriores (utilicé esta función para obtener trillizos RGB de los códigos hexadecimales):
Aquí están los códigos hexadecimales de la publicación de blog vinculada (lista completa de 269 códigos hexadecimales del alfabeto de colores de Tatarize ocultos en el historial de cambios para mejorar la legibilidad).
Aplicaciones web potencialmente útiles:
8) Lista de 20 colores simples y distintos de Sasha Trubetskoy:
"Hice una lista de colores fácil de usar que está optimizada en todos los medios; no sin pequeños compromisos, por supuesto, como conversiones CMYK inexactas. El problema principal es elegir colores "puros" (p. ej., 100 % magenta) o colores seguros para la Web. conduce a paletas de colores descabelladas, que distraen y desequilibradas. Este es mi intento de una paleta agradable que funciona bien para diagramas de red o estilo tránsito, o para datos categóricos".
"#023fa5", "#7d87b9", "#bec1d4", "#d6bcc0", "#bb7784", "#8e063b", "#4a6fe3", "#8595e1", "#b5bbe3", "#e6afb9", "#e07b91", "#d33f6a", "#11c638", "#8dd593", "#c6dec7", "#ead3c6", "#f0b98d", "#ef9708", "#0fcfc0", "#9cded6", "#d5eae7", "#f3e1eb", "#f6c4e1", "#f79cd4"
.print("'" + "', '". ...: join('#'+''.join(f'{int(c):02x}' for c in col.split(',')) for col in colors.strip('{}').split('},{')) + "'")
.La combinación de "brillante", "fácilmente distinguible" y "20 y más" es complicada. Me recuerda a "Nuestro trabajo es rápido, barato y de alta calidad. Elige dos". Creo que podría eliminar "brillante" de la mezcla y simplemente decir "contrastado". Eso hace que el resumen sea más simple de lograr, y creo que te llevará a donde quieres estar.
No conozco un conjunto así, pero así es como lo haría usando Photoshop:
Cree un documento en blanco en el modo de color (RGB o CMYK) que desee utilizar. RGB es correcto para todas las impresoras de escritorio y para visualización en pantalla o proyección. Utilice CMYK solo si necesita valores CMYK reales.
Elija 5 colores base distribuidos uniformemente alrededor de la rueda de colores. En la configuración Hue, eso significa 0, 60, 120, 180, 240 y 300. Estos serían sus puntos de partida. (Alternativamente, reemplace las muestras predeterminadas con el conjunto de Windows o Mac disponible en el menú flotante del panel Muestras, y use la séptima última a la penúltima).
Para cada Tono, seleccione 5 o 6 niveles de brillo y saturación que le den colores finales fáciles de distinguir.
A medida que encuentre cada uno, agréguelo a sus muestras.
Si está configurando estos para que se generen programáticamente, simplemente tome cualquiera de los valores que se ajuste al modelo de color con el que estará tratando. Si necesita usar Illustrator o Flash para los puntos, agregue estos pasos:
Elimine todas las demás muestras (Alt/Opt-clic para eliminar) para que todo lo que quede sean las que desea.
Guarde las muestras usando "Guardar muestras para intercambiar..." en el menú desplegable Muestras. Esto guarda un archivo .ASE que se puede cargar en Illustrator, InDesign o cualquiera de las otras aplicaciones de Adobe.
Espero que eso ayude.
[Agregado después de la pregunta ampliada]
Los colores base en hexadecimal son: 0xff0000 (rojo puro), 0xffff00 (amarillo), 0x00ff00 (verde), 0x00ffff (cian), 0x0000ff (azul) y 0xff00ff (magenta). Experimentando un poco, encontré que el amarillo puro era demasiado blanco para ser completamente útil para sus propósitos, y el azul requería un punto de partida diferente porque es visualmente oscuro. De cada color base, puedes salirte con la tuya con 4 tonos. Dado que también puede usar grises, eso permite una matriz de 7x4 de lo que consideraría colores bastante utilizables, dadas sus limitaciones (y la supuesta falta de acceso a Photoshop o una aplicación similar). ¡Toma una calculadora y deriva los valores decimales si los necesitas! :-)
Para todos menos el amarillo, el azul y el gris, sus puntos de partida son los colores puros. Reduzca los valores hexadecimales de ff a b0, 87 y 55 para sus cuatro tonos.
Para el azul, el "brillante" es b0b0ff y las sombras son 8484ff, 4949ff y 0000ff.
Para amarillo: e4e400, baba00, 878700 y 545400 funcionarán, y para los valores de gris, haga que los bytes de orden bajo sean iguales a los de alto y medio en cada caso.
Mi gráfico rápido y sucio de estos (menos los grises) se ve así:
#ff0000 #b00000 #870000 #550000 #e4e400 #baba00 #878700 #545400 #00ff00 #00b000 #008700 #005500 #00ffff #00b0b0 #008787 #005555 #b0b0ff #8484ff #4949ff #0000ff #ff00ff #b000b0 #870087 #550055 #e4e4e4 #bababa #878787 #545454
pero no necesariamente los usaría en ese orden...{255,0,0}, {228,228,0}, {0,255,0}, {0,255,255}, {176,176,255}, {255,0,255}, {228,228,228}, {176,0,0}, {186,186,0}, {0,176,0}, {0,176,176}, {132,132,255}, {176,0,176}, {186,186,186}, {135,0,0}, {135,135,0}, {0,135,0}, {0,135,135}, {73,73,255}, {135,0,135}, {135,135,135}, {85,0,0}, {84,84,0}, {0,85,0}, {0,85,85}, {0,0,255}, {85,0,85}, {84,84,84}
.Un buen enfoque es el esquema de color solarizado de Ethan Schoonover.
De la descripción:
"Solarized es una paleta de dieciséis colores (ocho monótonos, ocho colores de acento) diseñada para usar con aplicaciones de terminal y interfaz gráfica de usuario".
Creo que no solo es un buen esquema de color, sino que también es extensible y tiene una buena teoría detrás.
Hay un defecto fundamental y es intentar trazar 20 cosas diferentes en una imagen. Eso es mucho desorden visual y agregar 20 colores solo aumentará ese desorden.
Consideraría repensar la imagen general si es posible. Tal vez segmentarlo en 4 elementos visuales de 5 colores cada uno, mezclar y combinar superposiciones, etc.
Tufte es el recurso de referencia para obtener más información sobre el trazado de datos de la manera que mejor comunique el objetivo:
Puedes probar este selector de color. Fue diseñado para mapas, pero también lo usamos para tablas y gráficos. ¡Buena suerte!
Sin embargo, máximo 12 colores. perdón. : )
Me encontré con el mismo problema, tratando de trazar datos que se asignaban a los 24 cromosomas humanos diferentes (1-22, X e Y). Mi solución terminó siendo desarrollar mi propio paquete R:
https://cran.r-project.org/web/packages/Polychrome/index.html
https://www.jstatsoft.org/article/view/v090c01
Esto incluye herramientas para crear sus propias paletas y probar la "distinguibilidad" de los colores en una paleta. Una de las viñetas del paquete incluye un argumento heurístico que sugiere que la cantidad máxima posible de colores distinguibles es probablemente menos de 40. (Ah, y las referencias de Kelly, Carter & Carter y Green-Armytage fueron los mejores intentos anteriores que encontré como bien.)
Aquí hay un conjunto que ideé, de 26 valores RGB máximos distintos (28 si incluye blanco y negro). También es un alfabeto de colores. Se diferencia del alfabeto de colores de Peter Green-Armytage y los 22 colores de Kenneth Kelly en que está optimizado para pantallas de computadora en lugar de material impreso. Y se diferencia de los 20 colores de Sasha Trubetskoy en que no pretende ser de buen gusto. :-) Pero estos tres ejemplos fueron muy útiles.
#00B7FF, #004DFF, #00FFFF, #826400, #580041, #FF00FF, #00FF00, #C500FF, #B4FFD7,
#FFCA00, #969600, #B4A2FF, #C20078, #0000C1, #FF8B00, #FFC8FF, #666666, #FF0000,
#CCCCCC, #009E8F, #D7A870, #8200FF, #960000, #BBFF00, #FFFF00, #006F00
e100
e100
Aleksey Popkov
Aleksey Popkov