¿Dónde puedo encontrar una gran paleta/conjunto de colores contrastantes para colorear muchos conjuntos de datos en un gráfico?

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:

captura de pantalla

Para el fondo, ¿por qué realmente necesitan ser distinguibles?
Quiero decir, ¿por qué los diferentes conjuntos de puntos de datos deben ser distinguibles?
@e100 En otras palabras, los colores se usan aquí para indicar la pertenencia a un grupo.

Respuestas (7)

gracias a un gran trabajo

P. Green-Armytage (2010): Un alfabeto de colores y los límites de la codificación de colores. // Color: Diseño y Creatividad (5) (2010): 10, 1-23

(¡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:

Robert C. Carter, Ellen C. Carter (1982): Conjuntos de colores de alto contraste. // Aplic. Óptica, 21 (1982) 2936-2939.

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}.

ACTUALIZAR 1

4) Hay otro excelente artículo sobre el tema:

Zeileis, Hornik y Murrell (2009): Escaping RGBland: Selección de colores para gráficos estadísticos // Estadística computacional y análisis de datos Volumen 53, número 9, 1 de julio de 2009, páginas 3259-3270

Este artículo contiene un bonito conjunto de 26 colores distintos en la página 11:

Conjunto de colores Zeileis, Hornik y Murrell 2009

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}.

ACTUALIZAR 2

El usuario Tatarize sugiere en su blog :

5) Un conjunto de 64 colores máximamente diferentes :

El conjunto de Tatarize 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):

Alfabeto de colores de Tatarize

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).

7) 256 colores distintos .

ACTUALIZAR 3

Aplicaciones web potencialmente útiles:

ACTUALIZAR 4

8) Lista de 20 colores simples y distintos de Sasha Trubetskoy:

imagen

"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".

Esto es bastante útil, Alexey. ¡Gracias! Me pregunto si encontró algo para 1. escalas de color continuas (gradientes) 2. escalas de color o conjuntos de colores que retienen el contraste incluso después de la conversión a escala de grises (un requisito en las revistas APS, por ejemplo). diseño gráfico.stackexchange.com/questions/7960/…
Si alguien necesita, aquí están los códigos hexadecimales de los colores en el mismo orden en que están en la imagen **** cadena privada [,] graphColors = { {"#023FA5","#7D87B9","#BEC1D4" ,"#D6BCC0","#BB7784","#FFFFFF"}, {"#4A6FE3","#8595E1","#B5BBE3","#E6AFB9","#E07B91","#D33F6A"}, { "#11C638","#8DD593","#C6DEC7","#EAD3C6","#F0B98D","#EF9708"}, {"#0FCFC0","#9CDED6","#D5EAE7","#F3E1EB ","#F6C4E1","#F79CD4"}, };
¿Alguien tiene el código hexadecimal para los colores en la Actualización #1?
@redshift Ellos son: "#023fa5", "#7d87b9", "#bec1d4", "#d6bcc0", "#bb7784", "#8e063b", "#4a6fe3", "#8595e1", "#b5bbe3", "#e6afb9", "#e07b91", "#d33f6a", "#11c638", "#8dd593", "#c6dec7", "#ead3c6", "#f0b98d", "#ef9708", "#0fcfc0", "#9cded6", "#d5eae7", "#f3e1eb", "#f6c4e1", "#f79cd4".
para crear cadenas hexadecimales separadas por comas a partir de esas, use este oneliner de python: print("'" + "', '". ...: join('#'+''.join(f'{int(c):02x}' for c in col.split(',')) for col in colors.strip('{}').split('},{')) + "'").
Tenga en cuenta que la técnica utilizada para las más de 200 paletas de colores no es óptima para esta aplicación, ya que se realizó en el espacio de color RGB. El espacio de color RGB está diseñado para que las computadoras interpreten y muestren los colores, no se basa en la percepción. El resultado es una gran cantidad de colores desaturados que el ojo humano no puede distinguir muy bien. Un método más ideal sería espaciarlos en el espacio de color Lab (que es como se hizo para la paleta inicial de 64 colores).
@MiguelBartelsman ¿Estás seguro? Aquí están las descripciones de los conjuntos #6 y #7 . En ambos casos se utilizó la distancia de color LABd2000 (sobre un conjunto de colores RGB). Dado que la intención es usar estos colores en una computadora o un proyector, creo que es casi la mejor opción en este momento.
Perdón por eso, parece que leí completamente mal. También seguí adelante e hice un análisis de la paleta yo mismo ( i.imgur.com/KHx0MuA.png & i.imgur.com/HZcNJZB.png ). Honestamente, es tan bueno como lo será para 256 colores, con solo 2 o 3 pares difíciles de diferenciar entre sí.
Aquí también hay un breve artículo de ayuda de Wikipedia sobre colores distinguibles: en.wikipedia.org/wiki/Help:Distingueable_colors

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í:

cuadricula de colores

He corregido mi pregunta: los colores deben ser contrastados (y en la medida de lo posible brillantes). La trama se genera mediante programación y necesito los colores como un conjunto de valores RGB. Gracias.
Ver la respuesta ampliada. Creo que eso te llevará a donde necesitas estar.
También puede mover ligeramente los colores alrededor de la rueda de colores con los pasos de saturación para obtener un poco más de contraste entre los diferentes niveles de saturación del color.
@Alan Su solución se basa inicialmente en una cuadrícula igualmente espaciada de valores RGB definidos en RGB colorspase. Como aprendí recientemente, el espacio de color RGB no es perceptiblemente uniforme y, por lo tanto, este enfoque conduce inevitablemente a un conjunto de colores que contendrá colores demasiado cercanos. Por ejemplo, en su gráfico, los dos colores azules inferiores son muy parecidos y es muy difícil distinguirlos en mi monitor, incluso cuando sé que deben ser diferentes. Parece que el Sistema de Color Munsell es mucho mejor para tal propósito : es perceptivamente uniforme.
Vuelva a leer el párrafo 2 de mi respuesta. Usted pidió valores RGB, no Munsell; tienes RGB. Estos funcionarán para sus propósitos, no hay necesidad de usarlos todos, y le di los detalles para que tenga la flexibilidad de modificarlos. Los colaboradores del sitio no están aquí para hacer su trabajo por usted (consulte las preguntas frecuentes).
@Alan Acabo de compartir mi hallazgo reciente y quise decir que aparentemente el Sistema de color Munsell es mejor para seleccionar colores y, por supuesto, estos colores se pueden convertir a RGB (hay una utilidad gratuita para esto). Gracias por tu esfuerzo.
Here's Alan's list of colors: #ff0000 #b00000 #870000 #550000 #e4e400 #baba00 #878700 #545400 #00ff00 #00b000 #008700 #005500 #0000ff #0000b0 #000087 #000055 #b0b0ff #8484ff #4949ff #0000ff #ff00ff #b000b0 #870087 #550055 #ffffff #b0b0b0 #878787 #555555
Una corrección de los valores en el comentario de @ neu242 (donde el cian y el azul se "fusionan" y contiene blanco). Creo que los colores de Alan son: #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 #545454pero no necesariamente los usaría en ese orden...
... aquí están de nuevo como triples RGB pero "transpuestos": {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:

http://www.edwardtufte.com/tufte/

Puedes probar este selector de color. Fue diseñado para mapas, pero también lo usamos para tablas y gráficos. ¡Buena suerte!

http://colorbrewer2.org/

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.)

Muy buen papel (y esquemas de color en él). ¿Cree que sus herramientas podrían emplearse para analizar gradientes de negro a color en lugar de colores individuales? Mira mi pregunta aquí . Por cierto, traté de comunicarme con usted por correo electrónico, pero ese correo electrónico rebotó como "no existe una cuenta".

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.

Alfabeto de colores RGB

 #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
¿Qué te hizo arreglar los cuadrados en este patrón particular?
Fue lo mejor que pude hacer para colocar colores similares uno al lado del otro, aplanando 3D en 2D. Va de colores más claros en el medio a más oscuros en el exterior. Y tiene líneas aproximadas de tonalidad constante que irradian desde el centro. También dejó espacios para 5 colores grisáceos (y negro) adicionales que puedes ver aquí: dkeenan.com/Colour