Direkt zum Inhalt
HeimAnleitungenPython

Seaborn Farbpalette: Kurzanleitung zur Farbauswahl

Verwende color_palette() für eine klare kategoriale Trennung, cubehelix_palette() für graduell aufeinanderfolgende Daten und diverging_palette() für eine klare Abweichung von einem Mittelpunkt.
Aktualisierte 1. Okt. 2024  · 4 Min. lesen

Bei der Datenvisualisierung kann die Auswahl geeigneter Farben genauso wichtig sein wie die Wahl des richtigen Diagrammtyps oder der Datendarstellung. Zum Glück macht Python es dir leicht, mit Seaborn die richtige Farbpalette zu finden. Lies weiter, um zu verstehen, wie du Visualisierungen erstellen kannst, die nicht nur informativ, sondern auch visuell beeindruckend und zugänglich sind.

Wenn du neu in Python bist, solltest du entweder mit dem Kurs "Einführung in Python" oder mit dem Kurs " Python-Programmierung" beginnen. Diese Ressourcen vermitteln dir die nötigen Fähigkeiten, um den Beispielen zu folgen und die Möglichkeiten von Seaborn voll auszuschöpfen.

Kurzer Hinweis zu den Farbgrundlagen

Es gibt drei Hauptelemente, die jede Farbe definieren: Farbton, Sättigung und Wert. Beide sind wichtig, weil sie unterschiedliche Arten von Informationen vermitteln.

Hue

Der Farbton ist das, was wir normalerweise als "Farbe" bezeichnen - die reine Farbe selbst, wie Rot, Blau oder Grün.

Illustration des Farbtons. Bild vom Autor.

Dieses Bild zeigt verschiedene Farbtöne, die sich durch den Farbkreis von Rot bis Violett bewegen. Verschiedene Farbtöne sind gut geeignet, um kategorische Daten darzustellen oder bestimmte Elemente hervorzuheben. Du könntest zum Beispiel verschiedene Farbtöne verwenden, um in einem Balkendiagramm oder einer Punktwolke zwischen nicht zusammenhängenden Kategorien zu unterscheiden.

Sättigung

Die Sättigung bezieht sich auf die Intensität oder Reinheit einer Farbe. Eine voll gesättigte Farbe ist lebendig, während eine weniger gesättigte Farbe eher gedämpft oder grau erscheint.

Illustration der Sättigung. Bild vom Autor.

Dieser Farbverlauf zeigt verschiedene Sättigungsstufen für einen einzigen Farbton. Die Farbe auf der rechten Seite ist vollständig gesättigt. Wenn wir nach links gehen, wird die Farbe immer ungesättigter und erscheint schließlich fast grau. Gesättigtere Farben können die Aufmerksamkeit auf wichtige Datenpunkte oder Regionen von Interesse lenken.

Wert

Der Wert, der auch als Helligkeit bezeichnet wird, bezieht sich auf die Helligkeit oder Dunkelheit einer Farbe. Wenn du Weiß hinzufügst, erhöht sich der Wert, wenn du Schwarz hinzufügst, verringert er sich.

Illustration des Wertes (Helligkeit). Bild vom Autor.

Dieser Farbverlauf zeigt verschiedene Helligkeitsstufen für denselben Farbton. Auf der rechten Seite sehen wir die Farbe in ihrer hellsten Ausprägung. Wenn wir nach links gehen, nimmt der Wert ab und die Farbe wird dunkler. Der Wert ist nützlich, um eine Progression oder Hierarchie in den Daten zu zeigen. Du könntest zum Beispiel einen Werteverlauf in einer Heatmap verwenden, um die Intensität der Daten in einem zweidimensionalen Raster darzustellen.

Seaborn Farbpalette Typen

Lass uns die drei Haupttypen von Farbpaletten in Seaborn erkunden: qualitativ, sequentiell und divergierend.

Qualitative palettes using color_palette()

Qualitative Paletten sind für kategoriale Daten gedacht, bei denen es keine inhärente Ordnung oder Beziehung zwischen den Kategorien gibt. Diese Paletten verwenden verschiedene Farbtöne, um zwischen den Kategorien zu unterscheiden.

Qualitative Palette. Bild vom Autor.

Die oben gezeigte Palette "Bright" ist ein Beispiel für eine integrierte qualitative Palette in Seaborn. Es verwendet unterschiedliche, leuchtende Farbtöne, um die Kategorien zu trennen. Die Farben sind leicht voneinander zu unterscheiden, was sie ideal für kategoriale Daten macht, bei denen es keine inhärente Ordnung oder Beziehung zwischen den Kategorien gibt.

Die Funktion color_palette() ist Seaborns Art, eigene Farbpaletten zu erstellen. Mit kannst du zwischen diesen verschiedenen Arten von Paletten wechseln, indem du den Palettennamen und die Anzahl der Farben änderst. Wenn du benannte Paletten (wie "pastel" oder "Blues") verwendest, bestimmt der Parameter number, wie viele Farben du siehst. In der Regel passt du die Anzahl der Farben an deine Datenkategorien an oder erstellst einen Farbverlauf mit einer bestimmten Anzahl von Stufen.

Für eine noch präzisere Steuerung kannst du HEX-Codes verwenden, um genaue Farben zu definieren. Dies ist besonders nützlich, wenn du bestimmte Markenfarben anpassen oder ein einzigartiges Farbschema erstellen musst, das in den integrierten Paletten nicht verfügbar ist. Hier erfährst du, wie du mit color_palette() verschiedene Arten von Paletten erstellen kannst:

import seaborn as sns
# Create a qualitative palette with 4 colors
qual_palette = sns.color_palette("pastel", 4)

Erstellen einer qualitativen Palette mit vier Farben. Bild vom Autor.

# Create a sequential palette with 6 colors
seq_palette = sns.color_palette("Blues", 6)

Erstellen einer sequentiellen Palette mit sechs Farben. Bild vom Autor.

# Create a diverging palette with 12 colors
div_palette = sns.color_palette("RdBu", 12)

Erstelle eine abweichende Palette mit 12 Farben. Bild vom Autor.

# Create a custom palette using HEX codes 
hex = sns.color_palette(["#FF6B6B", "#4ECDC4", "#45B7D1","#FAD02E", "#594F4F"])

Erstellen einer eigenen Palette mit HEX-Codes. Bild vom Autor.

Sequential palettes using cubehelix_palette()  

Sequentielle Paletten sind ideal für numerische Daten, die eine natürliche Reihenfolge haben. Diese Paletten zeigen eine Progression von niedrigen zu hohen Werten, in der Regel durch Variationen der Helligkeit und/oder Sättigung eines einzelnen Farbtons oder mehrerer Farbtöne.

Abbildung der sequenziellen Viridis-Palette. Bild vom Autor.

Die Palette "Viridis" zeigt einen Verlauf von dunklem Lila bis zu leuchtendem Gelb. Diese Art von Palette eignet sich gut, um eine Reihe von Werten von niedrig bis hoch darzustellen. Dies ist besonders nützlich für die Visualisierung von kontinuierlichen Daten wie Temperaturbereichen, Bevölkerungsdichten oder anderen Datensätzen, bei denen du ein klares Verhältnis zwischen Tiefst- und Höchstwerten darstellen möchtest. Andere integrierte Optionen sind: ‘Blues’, ‘Greens’, ‘Reds’, ‘YlOrBr’, und ‘rocket’.

Die Funktion cubehelix_palette() ermöglicht die Erstellung von aufeinanderfolgenden Paletten mit fein abgestimmter Steuerung der Helligkeit und des Farbverlaufs. Diese Funktion ist besonders nützlich, wenn du eine Palette brauchst, die sanft in der Helligkeit zunimmt und leicht im Farbton variiert. Hier sind die Parameter für die Anpassung:

  • n_colors: Die Anzahl der Farben in der Palette.

  • start: Die Startposition im Farbzyklus (0-3).

  • rot: Bestimmt, wie stark sich der Farbton ändert. 

  • dark: Die dunkelste Farbe auf der Palette.

  • light: Die hellste Farbe in der Palette.

  • reverse: Ob die Richtung der Palette umgekehrt werden soll.

import seaborn as sns
# Create a default cubehelix palette
default_cube = sns.cubehelix_palette(8)

Abbildung der Standardpalette von Cubehelix. Bild vom Autor.

# Create a custom cubehelix palette
custom_cube = sns.cubehelix_palette(8, start=.5, rot=-.75, dark=.3, light=.8)

Illustration einer benutzerdefinierten Cubehelix-Palette. Bild vom Autor.

# Create a reversed cubehelix palette
reversed_cube = sns.cubehelix_palette(8, start=2, rot=0, dark=0, light=.95, reverse=True)

Illustration einer umgekehrten Würfelhelix-Palette. Bild vom Autor.

Diverging palettes using diverging_palette()

Divergierende Paletten sind für Daten gedacht, die einen aussagekräftigen Mittelwert oder Nullwert haben. Diese Paletten heben die Abweichung von einem zentralen Punkt hervor, indem sie zwei kontrastierende Farbtöne verwenden, die gesättigter werden, je weiter sich die Werte vom Zentrum entfernen. 

Illustration einer divergierenden Palette. Bild vom Autor.

Das obige Beispiel verdeutlicht, wie diese Paletten Abweichungen von einem zentralen Punkt hervorheben. Die Palette reicht von kühlen Blautönen über neutrales Weiß bis hin zu warmen Rottönen und hat einen klaren Mittelpunkt. Diese Art von Palette könnte verwendet werden, um Temperaturanomalien (wobei 0 die Durchschnittstemperatur darstellt) oder Gewinn/Verlust-Szenarien in Finanzdaten zu visualisieren. Andere integrierte Optionen sind: 'RdBu', 'RdYlGn', und 'PiYG'. Schauen wir uns die Parameter an:

  • h_neg und h_pos: Die Farbtöne für die negativen und positiven Bereiche der Palette.

  • n: Die Anzahl der Farben in der Palette.

  • s: Die Sättigung der Farben.

  • l: Die Leichtigkeit der Farben.

  • center: Die Farbe des Mittelpunkts ('light' oder 'dark').

import seaborn as sns
# Create a default diverging palette
default_div = sns.diverging_palette(220, 20, n=7)

Illustration einer standardmäßig abweichenden Palette. Image von Autor.

# Create a diverging palette with more saturation
saturated_div = sns.diverging_palette(250, 30, l=65, s=75, n=7)

Eine abweichende Palette mit mehr Sättigung. Bild vom Autor.

# Create a diverging palette with a darker center
dark_center_div = sns.diverging_palette(150, 275, s=80, l=55, n=9, center="dark")

Eine abweichende Palette mit einer dunkleren Mitte. Bild vom Autor.

Abschließende Anmerkung zu den Seaborn Farbpaletten

Die Auswahl der richtigen Farbpalette ist ein wichtiger Aspekt bei der Erstellung effektiver Datenvisualisierungen. Die vielfältigen und anpassbaren Farbpalettenoptionen von Seaborn bieten leistungsstarke Werkzeuge, um die Klarheit und Wirkung deiner Datendarstellungen zu verbessern.

Wenn du diese Farbkonzepte auf deine Datenvisualisierungsprojekte anwendest und deine Fähigkeiten erweitern möchtest, solltest du umfassende Lernpfade wie den Python Developer oder Data Analyst with Python in Betracht ziehen. Diese karriereorientierten Kurse sollen deine Kenntnisse von grundlegenden Konzepten bis hin zu fortgeschrittenen Anwendungen erweitern, wobei das Verständnis für gute Visualisierungen immer wichtig ist.


Photo of Vinod Chugani
Author
Vinod Chugani
LinkedIn

Als erfahrener Experte für Data Science, maschinelles Lernen und generative KI widmet sich Vinod der Weitergabe von Wissen und der Befähigung angehender Data Scientists, in diesem dynamischen Bereich erfolgreich zu sein.

Seaborn Farbpalette FAQs

Welche verschiedenen Arten von Farbpaletten gibt es in Seaborn?

Seaborn bietet drei Haupttypen von Farbpaletten an: qualitativ, sequentiell und divergierend. Qualitative Paletten sind ideal für kategorische Daten, sequenzielle Paletten für numerische Daten mit einer natürlichen Reihenfolge und divergierende Paletten für Daten, die einen sinnvollen Mittelpunkt haben.

Wie kann ich in Seaborn eine eigene Farbpalette erstellen?

Mit der Funktion color_palette() kannst du benutzerdefinierte Paletten erstellen, einschließlich qualitativer, sequentieller und divergierender Typen. Sie ermöglicht eine spezifische Farbauswahl mit HEX-Codes für eine präzise Steuerung.

Wann sollte ich cubehelix_palette() in Seaborn verwenden?

Die Funktion cubehelix_palette() ist nützlich, um aufeinanderfolgende Paletten mit sanftem Farbverlauf zu erstellen, vor allem wenn du die Helligkeit und die Farbvariationen genau steuern willst.

Wozu dient die Funktion diverging_palette() bei der Datenvisualisierung?

Die Funktion diverging_palette() ist für Daten mit einem aussagekräftigen Mittelpunkt gedacht, z. B. Gewinn/Verlust oder Temperaturanomalien. Sie verwendet kontrastierende Farbtöne, um Abweichungen von der Mitte zu zeigen und hilft, Abweichungen zu betonen.

Was sind Farbton, Sättigung und Wert bei der Farbauswahl?

Der Farbton steht für die reine Farbe, z. B. Rot oder Blau; die Sättigung gibt die Intensität der Farbe an, von lebhaft bis gedämpft; und der Wert, auch als Helligkeit bekannt, definiert die Helligkeit oder Dunkelheit der Farbe. Das Verständnis dieser Elemente hilft bei der Auswahl effektiver Farben für die Visualisierung verschiedener Datentypen.

 
Themen
Verwandt

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

15 Min.

See MoreSee More