Wo finde ich eine große Palette / einen Satz kontrastierender Farben, um viele Datensätze auf einem Plot einzufärben?

Ich benötige einen großen Satz (20 und mehr) kontrastreicher und leicht visuell unterscheidbarer Farben, um verschiedene Datensätze in einem wissenschaftlichen Diagramm einzufärben (der Farbsatz sollte kein Weiß oder Schwarz enthalten, und die Farben sollten so hell wie möglich sein).

Der Plot wird programmgesteuert generiert und soll in eine Präsentation aufgenommen werden, die unter Verwendung eines Projektors angezeigt wird.

Gibt es für so eine Aufgabe fertige Farbsets (ich benötige Farben als RGB-Werteset)?

Oder gibt es vielleicht einen Algorithmus, der einen solchen Farbsatz programmgesteuert generiert (ich verwende Wolfram Mathematica zur Plotgenerierung)?

PS Die Handlung selbst kann zum Beispiel ähnlich wie diese aussehen:

Bildschirmfoto

Für den Hintergrund, warum müssen sie wirklich unterscheidbar sein?
Ich meinte, warum müssen die verschiedenen Sätze von Datenpunkten unterscheidbar sein?
@e100 Mit anderen Worten, hier werden Farben verwendet, um die Gruppenzugehörigkeit anzuzeigen.

Antworten (7)

Dank toller Arbeit

P. Green-Armytage (2010): Ein Farbalphabet und die Grenzen der Farbcodierung. // Farbe: Design & Kreativität (5) (2010): 10, 1-23

(und an den Benutzer ohadsc , der darauf verwiesen hat!) Jetzt kenne ich mindestens 3 fertige Farbsätze mit maximalem Kontrast, die nicht weniger als 20 Farben enthalten (aber ich habe immer noch explizite RBG-Werte nur für eine davon):

1) Der von Kenneth Kelly in der Arbeit vorgeschlagene Satz von 22 Farben mit maximalem Kontrast:

K. Kelly (1965): Zweiundzwanzig Farben mit maximalem Kontrast. // Farb-Ing., 3(6)

Besonderheiten (unter Berufung auf P. Green-Armytage): „Die Reihenfolge der Farben in Kellys Liste wurde so geplant, dass es einen maximalen Kontrast zwischen den Farben in einem Satz gibt, wenn die erforderliche Anzahl von Farben immer in der Reihenfolge von oben ausgewählt wird. <.. .> Kelly kümmerte sich um die Bedürfnisse von Menschen mit eingeschränktem Farbsehen. Die ersten neun Farben würden für solche Menschen sowie für Menschen mit normalem Sehvermögen maximal unterschiedlich sein. Diese neun Farben sind auch anhand des Farbnamens leicht unterscheidbar."

Zusätzliche Informationen (unter Berufung auf P. Green-Armytage): „Das ISCC hat das Projektkomitee 54 mit der Absicht eingerichtet, Kellys Arbeit auf den neuesten Stand zu bringen. Das Komitee entschied jedoch, dass sie das, was sie zu tun versuchten, nicht verbessern konnten Kellys Farbpalette."

2) Der von Robert und Ellen Carter in der Arbeit vorgeschlagene Satz von 25 Farben:

Robert C. Carter, Ellen C. Carter (1982): Kontrastreiche Farbkombinationen. // Appl. Optik, 21 (1982) 2936-2939.

Besonderheiten (unter Berufung auf P. Green-Armytage): „Carter und Carter beziehen sich auf Kellys Arbeit und bestätigen seine Annahme, dass die Leichtigkeit, mit der zwei Farben unterschieden werden können, davon abhängt, wie weit die Farben im Farbraum voneinander entfernt sind. Von den verfügbaren Farbräumen Damals wählten sie CIE L u v * als am besten geeignet für ihre Studie. <...> Sie fanden heraus, dass die Fähigkeit der Menschen, Farben richtig zu erkennen, schnell abnahm, wenn der Abstand zwischen Farben weniger als 40 CIE L u v * -Einheiten betrug. In ihrer Arbeit präsentieren sie eine Reihe von 25 Farben, die durch mindestens 51,6 CIE L u v*-Einheiten getrennt sind.

3) Der von Paul Green-Armytage in dem oben zitierten Werk "A Color Alphabet and the Limits of Color Coding" vorgeschlagene Satz von 26 Farben für das Color Alphabet Project. Dieses Farbset ist für die Verwendung mit weißem Hintergrund konzipiert. RGB-Tripletts dieses Satzes sind: {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}.

AKTUALISIERUNG 1

4) Es gibt noch einen weiteren ausgezeichneten Artikel zu diesem Thema:

Zeileis, Hornik und Murrell (2009): Escaping RGBland: Selecting Colors for Statistical Graphics // Computational Statistics & Data Analysis Volume 53, Ausgabe 9, 1. Juli 2009, Seiten 3259-3270

Dieser Artikel enthält auf Seite 11 einen schönen Satz von 26 verschiedenen Farben:

Farbsatz Zeileis, Hornik und Murrell 2009

RGB-Tripletts dieses Satzes sind: {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}.

AKTUALISIERUNG 2

User Tatarize schlägt in seinem Blog vor :

5) Ein Satz von 64 maximal unterschiedlichen Farben :

Tatarizes Satz von 64 maximal unterschiedlichen Farben

6) Ein Farbwörterbuch mit 269 maximal unterschiedlichen Farben aus allen vorherigen Farben (ich habe diese Funktion verwendet, um RGB-Tripletts aus den Hex-Codes zu erhalten):

Das Farbalphabet von Tatarize

Hier sind die Hex-Codes aus dem verlinkten Blog-Beitrag (vollständige Auflistung von 269 Hex-Codes des Farbalphabets von Tatarize, die zur besseren Lesbarkeit in der Änderungshistorie versteckt sind).

7) 256 verschiedene Farben .

AKTUALISIERUNG 3

Potenziell nützliche Web-Anwendungen:

UPDATE 4

8) Liste von 20 einfachen, unterschiedlichen Farben von Sasha Trubetskoy:

Bild

„Ich habe eine einfach zu verwendende Farbliste erstellt, die für alle Medien optimiert ist; natürlich nicht ohne kleine Kompromisse, wie z. B. ungenaue CMYK-Konvertierungen. Das Hauptproblem besteht darin, „reine“ (z führt zu auffälligen, ablenkenden und unausgewogenen Farbpaletten. Dies ist mein Versuch einer netten Palette, die sich gut für Diagramme im Netzwerk- oder Transitstil oder für kategoriale Daten eignet."

Das ist ziemlich nützlich, Alexey. Vielen Dank! Ich frage mich, ob Sie etwas gefunden haben für 1. kontinuierliche Farbskalen (Verläufe) 2. Farbskalen oder Farbsätze, die den Kontrast auch nach der Graustufenkonvertierung beibehalten (eine Anforderung zum Beispiel in APS-Journalen). graphicdesign.stackexchange.com/questions/7960/…
Falls jemand braucht, hier sind die Hex-Codes der Farben in der gleichen Reihenfolge wie auf dem Bild **** private string[,] 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"}, };
Hat jemand den Hex-Code für die Farben in Update #1?
@redshift Sie sind: "#023fa5", "#7d87b9", "#bec1d4", "#d6bcc0", "#bb7784", "#8e063b", "#4a6fe3", "#8595e1", "#b5bbe3", "#e6afb9", "#e07b91", "#d33f6a", "#11c638", "#8dd593", "#c6dec7", "#ead3c6", "#f0b98d", "#ef9708", "#0fcfc0", "#9cded6", "#d5eae7", "#f3e1eb", "#f6c4e1", "#f79cd4".
Um daraus durch Kommas getrennte Hex-Strings zu erstellen, verwenden Sie diesen Python-Einzeiler: print("'" + "', '". ...: join('#'+''.join(f'{int(c):02x}' for c in col.split(',')) for col in colors.strip('{}').split('},{')) + "'").
Beachten Sie, dass die für die über 200 Farbpaletten verwendete Technik für diese Anwendung nicht optimal ist, da sie im RGB-Farbraum durchgeführt wurde. Der RGB-Farbraum ist für Computer gedacht, um Farben zu interpretieren und anzuzeigen, er basiert nicht auf Wahrnehmung. Das Ergebnis ist eine große Anzahl entsättigter Farben, die das menschliche Auge nicht sehr gut unterscheiden kann. Eine idealere Methode wäre, sie im Lab-Farbraum anzuordnen (so wurde es für die anfängliche 64-Farben-Palette gemacht).
@MiguelBartelsman Bist du sicher? Hier sind Beschreibungen für die Sets Nr. 6 und Nr. 7 . In beiden Fällen wurde der LABd2000-Farbabstand verwendet (über eine Reihe von RGB-Farben). Da beabsichtigt ist, diese Farben auf einem Computer oder einem Projektor zu verwenden, halte ich dies im Moment für fast die beste Wahl.
Tut mir leid, anscheinend habe ich mich komplett verlesen. Ich habe auch selbst eine Analyse der Palette durchgeführt ( i.imgur.com/KHx0MuA.png & i.imgur.com/HZcNJZB.png ). Ehrlich gesagt ist es für 256 Farben so gut wie es nur geht, wobei nur 2 oder 3 Paare nebeneinander schwer zu unterscheiden sind.
Hier ist auch ein kurzer Wikipedia-Hilfeartikel zu unterscheidbaren Farben: en.wikipedia.org/wiki/Help:Distinguishable_colors

Knifflig ist die Kombination aus „hell“, „gut unterscheidbar“ und „20 und mehr“. Erinnert mich an „Unsere Arbeit ist schnell, billig und qualitativ hochwertig. Wählen Sie zwei aus.“ Ich denke, Sie könnten "hell" aus der Mischung streichen und einfach "kontrastierend" sagen. Das macht das Briefing einfacher zu erreichen, und ich denke, es bringt Sie dorthin, wo Sie sein möchten.

Ich kenne so ein Set nicht aus der Hand, aber so würde ich es mit Photoshop machen:

  • Erstellen Sie ein leeres Dokument in dem Farbmodus (RGB oder CMYK), den Sie verwenden möchten. RGB ist für alle Desktop-Drucker und für die Bildschirm- oder Projektionsanzeige geeignet. Verwenden Sie CMYK nur, wenn Sie tatsächliche CMYK-Werte benötigen.

  • Wählen Sie 5 Grundfarben aus, die gleichmäßig über das Farbrad verteilt sind. In der Farbtoneinstellung bedeutet das 0, 60, 120, 180, 240 und 300. Dies wären Ihre Ausgangspunkte. (Alternativ können Sie die Standardfarbfelder durch die Windows- oder Mac-Farbfelder ersetzen, die im Flyout-Menü des Farbfeldbedienfelds verfügbar sind, und das siebte bis zweitletzte verwenden.)

  • Wählen Sie für jeden Farbton 5 oder 6 Helligkeits- und Sättigungsstufen aus, die Ihnen leicht unterscheidbare Endfarben liefern.

  • Wenn Sie jedes gefunden haben, fügen Sie es Ihren Farbfeldern hinzu.

Wenn Sie diese so einrichten, dass sie programmgesteuert generiert werden, nehmen Sie einfach den Wert, der zu dem Farbmodell passt, mit dem Sie es zu tun haben. Wenn Sie Illustrator oder Flash für die Punkte verwenden müssen, fügen Sie diese Schritte hinzu:

  • Löschen Sie alle anderen Farbfelder (Alt/Opt-Klick zum Entfernen), damit Sie nur noch die gewünschten Farbfelder übrig haben.

  • Speichern Sie die Farbfelder mit "Farbfelder für Austausch speichern..." im Farbfeld-Flyout. Dadurch wird eine .ASE-Datei gespeichert, die in Illustrator, InDesign oder eine der anderen Adobe-Apps geladen werden kann.

Ich hoffe das hilft.

[Ergänzung nach Frage erweitert]

Grundfarben in Hex sind: 0xff0000 (reines Rot), 0xffff00 (Gelb), 0x00ff00 (Grün), 0x00ffff (Cyan), 0x0000ff (Blau) und 0xff00ff (Magenta). Beim Experimentieren fand ich reines Gelb zu nah an Weiß, um für Ihre Zwecke vollständig nützlich zu sein, und Blau erforderte einen anderen Ausgangspunkt, da es visuell dunkel ist. Von jeder Grundfarbe können Sie mit 4 Farbtönen davonkommen. Da Sie auch Grautöne verwenden können, ermöglicht dies eine 7x4-Matrix mit Farben, die ich angesichts Ihrer Einschränkungen (und des vermuteten fehlenden Zugriffs auf Photoshop oder eine ähnliche Anwendung) für durchaus brauchbar halten würde. Schnappen Sie sich einen Taschenrechner und leiten Sie die Dezimalwerte ab, wenn Sie sie brauchen! :-)

  • Für alles außer Gelb, Blau und Grau sind Ihre Ausgangspunkte die reinen Farben. Reduzieren Sie die Hex-Werte von ff auf b0, 87 und 55 für Ihre vier Farbtöne.

  • Für Blau ist „hell“ b0b0ff und die Schattierungen sind 8484ff, 4949ff und 0000ff.

  • Für gelb: e4e400, baba00, 878700 und 545400 funktionieren, und für die grauen Werte machen Sie die niederwertigen Bytes in jedem Fall gleich wie die hohen und mittleren.

Mein Quick-and-Dirty-Diagramm davon (abzüglich der Grautöne) sieht so aus:

Farbraster

Ich habe meine Frage korrigiert: Die Farben sollten kontrastreich (und möglichst hell) sein. Das Diagramm wird programmgesteuert generiert und ich benötige die Farben als eine Reihe von RGB-Werten. Vielen Dank.
Siehe die erweiterte Antwort. Ich denke, das wird dich dorthin bringen, wo du sein musst.
Sie können die Farben auch leicht mit den Sättigungsschritten im Farbkreis verschieben, um einen etwas größeren Kontrast zwischen den verschiedenen Sättigungsstufen der Farbe zu erhalten.
@Alan Ihre Lösung basiert zunächst auf einem gleichmäßig verteilten Raster von RGB-Werten, die im RGB-Farbraum definiert sind. Wie ich kürzlich gelernt habe, ist der RGB-Farbraum nicht wahrnehmbar einheitlich, und daher führt ein solcher Ansatz unweigerlich zu einer Reihe von Farben, die zu ähnliche Farben enthalten. In Ihrem Diagramm sind beispielsweise die beiden unteren blauen Farben sehr ähnlich und es ist sehr schwierig, sie auf meinem Monitor zu unterscheiden, selbst wenn ich weiß, dass sie unterschiedlich sein müssen. Es scheint, dass das Munsell- Farbsystem für diesen Zweck viel besser geeignet ist: es ist wahrnehmungsmäßig einheitlich.
Lesen Sie noch einmal Absatz 2 meiner Antwort. Sie haben nach RGB-Werten gefragt, nicht nach Munsell; Du hast RGB. Diese werden für Ihre Zwecke funktionieren, es besteht keine Notwendigkeit, sie alle zu verwenden, und ich habe Ihnen die Details gegeben, damit Sie die Flexibilität haben, sie zu ändern. Website-Mitwirkende sind nicht hier, um Ihre Arbeit für Sie zu erledigen (siehe FAQ).
@Alan Ich habe gerade meine jüngsten Erkenntnisse geteilt und meinte, dass das Munsell-Farbsystem anscheinend besser zum Aufnehmen von Farben geeignet ist und diese Farben natürlich weiter in RGB konvertiert werden können (dafür gibt es ein kostenloses Dienstprogramm ). Vielen Dank für Ihre Mühen.
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
Eine Korrektur der Werte im Kommentar von @ neu242 (wo Cyan und Blau "verschmelzen" und Weiß enthalten). Ich denke, Alans Farben sind: #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 #545454aber ich würde sie nicht unbedingt in dieser Reihenfolge verwenden ...
... hier sind sie wieder als RGB-Tripel, aber "transponiert": {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}.

Ein schöner Ansatz ist das Solarized -Farbschema von Ethan Schoonover.

Aus der Beschreibung:

"Solarized ist eine Palette mit sechzehn Farben (acht Monotöne, acht Akzentfarben), die für die Verwendung mit Terminal- und GUI-Anwendungen entwickelt wurde."

Ich finde, es ist nicht nur ein schönes Farbschema, sondern auch erweiterbar und hat eine schöne Theorie dahinter.

Es gibt einen grundlegenden Fehler und das ist der Versuch, 20 verschiedene Dinge in einem Bild darzustellen. Das ist eine Menge visuelles Durcheinander und das Hinzufügen von 20 Farben wird dieses Durcheinander nur noch verstärken.

Ich würde erwägen, das Gesamtbild zu überdenken, wenn Sie können. Vielleicht segmentieren Sie es in 4 visuelle Elemente mit jeweils 5 Farben, mischen und passen Sie Überlagerungen an usw.

Tufte ist die Anlaufstelle, um mehr über das Plotten von Daten zu erfahren, um das Ziel am besten zu kommunizieren:

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

Sie können diesen Farbwähler ausprobieren. Es wurde für Karten entwickelt, aber wir verwenden es auch für Diagramme und Grafiken. Viel Glück!

http://colorbrewer2.org/

Maximal 12 Farben. Verzeihung. :)

Ich stieß auf das gleiche Problem, als ich versuchte, Daten zu zeichnen, die den 24 verschiedenen menschlichen Chromosomen (1-22, X und Y) zugeordnet waren. Meine Lösung bestand schließlich darin, mein eigenes R-Paket zu entwickeln:

https://cran.r-project.org/web/packages/Polychrome/index.html

https://www.jstatsoft.org/article/view/v090c01

Dazu gehören Tools zum Erstellen eigener Paletten und zum Testen der „Unterscheidbarkeit“ von Farben in einer Palette. Eine der Paketvignetten enthält ein heuristisches Argument, das darauf hindeutet, dass die maximal mögliche Anzahl unterscheidbarer Farben wahrscheinlich weniger als 40 beträgt. (Oh, und die Referenzen von Kelly, Carter & Carter und Green-Armytage waren so ziemlich die besten früheren Versuche, die ich finde Gut.)

Sehr schönes Papier (und Farbschemata darin). Denken Sie, dass Ihre Tools verwendet werden könnten, um Schwarz-zu-Farbe-Verläufe anstelle einzelner Farben zu analysieren? Siehe meine Frage hier . Übrigens, ich habe versucht, Sie per E-Mail zu kontaktieren, aber diese E-Mail wurde als „Kein Konto vorhanden“ zurückgesendet.

Hier ist ein Satz, den ich mir ausgedacht habe, mit 26 maximal unterschiedlichen RGB-Werten (28, wenn Sie Schwarz und Weiß einbeziehen). Es ist auch ein Farbalphabet. Es unterscheidet sich vom Farbalphabet von Peter Green-Armytage und den 22 Farben von Kenneth Kelly dadurch, dass es eher für Computerbildschirme als für gedrucktes Material optimiert ist. Und es unterscheidet sich von den 20 Farben von Sasha Trubetskoy dadurch, dass es nicht versucht, geschmackvoll zu sein. :-) Aber diese drei Beispiele waren sehr hilfreich.

RGB-Farbalphabet

 #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
Was hat Sie veranlasst, die Quadrate in diesem speziellen Muster anzuordnen?
Es war das Beste, was ich tun konnte, um ähnliche Farben nebeneinander zu platzieren und 3D in 2D zu reduzieren. Es geht von helleren Farben in der Mitte zu dunkleren außen. Und es hat ungefähre Linien mit konstantem Farbton, die von der Mitte ausgehen. Es hat auch Platz für 5 zusätzliche gräuliche Farben (und Schwarz) gelassen, die Sie hier sehen können: dkeenan.com/Colour