Farbauswahl für die Matplotlib, die gut gedruckt wird

8

Ich benutze Pandas und Matplotlib, um Balkengrafiken mit vielen Balken zu erzeugen.

Ich kann durch eine Liste ausgewählter Farben blättern ( Wie man ein pandas / matplotlib Balkendiagramm benutzerdefinierte Farben gibt). Die Frage ist, welche Farben auszuwählen sind, damit mein Graph auf einem Papier gut gedruckt wird (es ist für eine Forschungsarbeit). Was mich am meisten interessiert, ist ein ausreichender Kontrast zwischen den Säulen und einer Auswahl von Farben, die angenehm aussehen. Ich hätte gerne mehrere Farben anstelle von Graustufen- oder Einzelfarbschemen.

Gibt es irgendwelche vorgegebenen Schemata, die man aus diesen Leuten auswählen kann?

    
vkontori 20.12.2012, 09:05
quelle

3 Antworten

12

In 1.5 wird matplotlib mit 4 neuen rational gestalteten Farbkarten ausgeliefert:

  • 'viridis' (wird in 2.0 als Standardfarbkarte verwendet)
  • 'magma'
  • 'plasma'
  • %Code%.

Das Design dieser Farbkarten wird in Ссылка dargestellt.

Das für diesen Prozess entwickelte Tool kann von 'inferno'

installiert werden

Ich würde die Farbkarte pip install viscm vorschlagen. Es ist entworfen , um eine korrekte Helligkeitsordnung in Farbe und Graustufen zu haben

    
tacaswell 21.12.2012, 02:55
quelle
19

Ihre Anforderungen sind also "viele Farben" und "keine zwei Farben sollten beim Drucken auf denselben Graustufenwert abgebildet werden", richtig? Das zweite Kriterium sollten alle "sequentiellen" Colormaps erfüllen (die monoton in der Leuchtdichte zunehmen oder abnehmen). Ich denke von all den Möglichkeiten in Matplotlib, bleiben Sie mit cubehelix (bereits erwähnt), gnuplot und gnuplot2 :

Die weiße Linie ist die Luminanz jeder Farbe. Sie können also sehen, dass jede Farbe beim Drucken einem anderen Graustufenwert zugeordnet wird. Die schwarze Linie ist Farbton und zeigt an, dass sie durch eine Vielzahl von Farben durchlaufen.

Beachten Sie, dass cubehelix eigentlich eine Funktion ist ( from matplotlib._cm import cubehelix ), und Sie können die Parameter der Helix anpassen, um Farben mit einer größeren Variation zu erzeugen, wie hier gezeigt . Mit anderen Worten, cubehelix ist keine Colormap, sondern eine Familie von Colormaps. Hier sind 2 Variationen:

Für weniger stark variierende Farben (angenehmer für viele Dinge, aber vielleicht nicht für Ihre Balkendiagramme), probieren Sie vielleicht die ColorBrewer 3-Farben-Karten, YlOrRd , PuBuGn , YlGnBu :

Ссылка

Ich würde jedoch nicht empfehlen, nur diese Farbe zu verwenden, um Balkendiagramme zu identifizieren. Sie sollten immer Textbeschriftungen als primäre Kennung verwenden. Beachten Sie auch, dass einige davon weiße Balken erzeugen, die sich vollständig in den Hintergrund einfügen, da sie für Heatmaps gedacht sind, nicht für Diagrammfarben:

%Vor%

Und das sind die neuen Leute:

    
endolith 25.03.2013 19:38
quelle
5

Ich kenne keine vorgegebenen Schemata. Normalerweise verwende ich ein paar Farben für Publikationsflächen. Bei der Auswahl der Farben berücksichtige ich meistens zwei Dinge:

  1. Farbenblindheit : diese Seite auf Wikipedia hat viele gute Informationen über die Auswahl der Farben sind für die meisten farbenblinden Menschen unterscheidbar. Wenn Sie im Abschnitt "Tipps für Redakteure" nachlesen, sind nach der Berücksichtigung der Richtlinien nur noch wenige Farbsätze verfügbar. (Eine gute Faustregel ist, niemals rot und grün zu mischen!) Sie können auch die verknüpften farbenblinden Simulatoren verwenden, um zu sehen, ob Ihr Diagramm gut sichtbar ist.
  2. Luminanz : Die meisten Zeitschriften in meinem Bereich werden standardmäßig in B & amp; W veröffentlicht. Obwohl die meisten Leute die Artikel online lesen, möchte ich trotzdem sicherstellen, dass die Plots beim Ausdrucken in Graustufen verstanden werden können. Deshalb achte ich darauf, Farben zu verwenden, die unterschiedliche Leuchtdichten haben. Um zu testen, ist eine gute Möglichkeit, das erzeugte Bild einfach zu entsättigen, und Sie werden eine gute Vorstellung davon haben, wie es aussieht, wenn es in Graustufen gedruckt wird. In vielen Fällen (insbesondere Linien- oder Punktdiagramme) verwende ich auch andere Dinge als Farbe, um zwischen Sätzen zu unterscheiden (z. B. Linienstile, verschiedene Marker).

Wenn in Matplotlib-Plots keine Farben angegeben sind, hat es eine Standardmenge von Farben, die durchlaufen werden. Diese Antwort enthält eine gute Erklärung dazu, wie Sie diesen Standardfarbsatz ändern können. Sie können dies an Ihre bevorzugten Farben anpassen, sodass die Plots diese wiederum verwenden.

    
tiago 20.12.2012 09:45
quelle

Tags und Links