Erstellen eine andere Farbpalette mit Seaborn

Salman Mehmood 26 Mai 2022
Erstellen eine andere Farbpalette mit Seaborn

In diesem Artikel werden verschiedene Optionen für die Seaborn-Farbpaletten untersucht. Wir zeigen Ihnen auch, wie Sie Ihre benutzerdefinierte Farbpalette in Seaborn erstellen.

Erstellen verschiedene Farbpaletten mit Seaborn

Beginnen wir damit, Seaborn zu importieren und als seaborn zu speichern. Wir werden auch einige Daten aus der Seaborn-Bibliothek namens tips laden.

import seaborn as seaborn

Werfen Sie einen Blick auf den oberen Teil des Datenrahmens customer_bill und sehen Sie, dass wir unterschiedliche Rechnungsbeträge und Trinkgeldbeträge von jedem Kunden hinterlassen haben. Wir haben auch unterschiedliche Merkmale, wie den Wochentag oder den Zeitpunkt, an dem das Essen serviert wurde.

customer_bill = seaborn.load_dataset("tips")
customer_bill.head()

Seaborn-Farbpalette - Ausgabe 1

Jetzt setzen wir set_style auf darkgrid und erstellen das Streudiagramm mit der Funktion scatterplot.

In dieser scatterplot-Funktion haben wir der x-Achse die total_bill übergeben, und die y-Achse repräsentiert die tip. Die Eigenschaft data stammt aus dem Datenrahmen customer_bill.

Wir können auch eine andere Spalte, eine kategoriale Spalte wie day, an die Eigenschaft hue übergeben. Dies wird für jeden einzelnen Wochentag in verschiedenen Farben aufgeteilt.

import seaborn as seaborn

# collect data from seaborn
customer_bill = seaborn.load_dataset("tips")
customer_bill.head()
# set grid style
seaborn.set_style("darkgrid")
seaborn.scatterplot(x="total_bill", y="tip", data=customer_bill, hue="day")
# uncomment the below code if you are not using jupyter notebook
# import matplotlib.pyplot as plot
# plot.show()

Seaborn-Farbpalette - Ausgabe 2

Wie Sie bemerken, verwendet Seaborn seine Standardfarbpalette in Streudiagrammen. Wir können die Standardpalette von Seaborn mit der Funktion color_palette() überprüfen.

seaborn.color_palette()

Dies zeigt Ihnen die Standardfarbpalette, die Seaborn für die ersten vier Farben verwendet.

Seaborn-Farbpalette - Ausgabe 3

Wir können mehrere Optionen in der Funktion color_palette() übergeben. Wenn wir einen gültigen Stringnamen wie Pastel2 übergeben, sehen wir die anderen Farbpaletten.

seaborn.color_palette("Pastel2")

Seaborn-Farbpalette - Ausgabe 4

Wir können verschiedene benannte Farbpaletten verwenden. Wir müssen nur dieses palette-Argument hinzufügen und es gleich einem gültigen Palettennamen setzen.

seaborn.set_style("whitegrid")
seaborn.scatterplot(
    x="total_bill", y="tip", data=customer_bill, hue="day", palette="Pastel2"
)

Seaborn-Farbpalette - Ausgabe 5

Derzeit gibt es 170 verschiedene benannte Farbpaletten, die wir in Seaborn verwenden können. Wenn Sie ihre Namen vergessen, müssen Sie sie nicht nachschlagen; Sie können einen ungültigen Palettennamen übergeben, wie zum Beispiel:

seaborn.scatterplot(
    x="total_bill", y="tip", data=customer_bill, hue="day", palette="GH"
)

Ausgabe:

Seaborn-Farbpalette - Ausgabe 6

Wenn Sie bemerken, dass viele davon mit _r. Dies sind die gleichen Paletten, aber in umgekehrter Reihenfolge.

seaborn.color_palette("Pastel2_r")

Seaborn-Farbpalette - Ausgabe 7

Wenn wir das Palettenargument nicht übergeben, legt Seaborn die Standardpalettenfarbe fest.

seaborn.scatterplot(x="total_bill", y="tip", data=customer_bill)

Seaborn-Farbpalette - Ausgabe 8

Wenn wir die Farbe dieser Punkte aktualisieren möchten, beziehen wir uns darauf als color. Es ist keine Palette; Es ist eine Farbe, weil wir in der gesamten Figur nur eine Farbe haben, aber beobachten Sie, was passiert, wenn wir diese Farbe auf die Zeichenfolge Blau umstellen.

seaborn.scatterplot(x="total_bill", y="tip", data=customer_bill, color="blue")

Dies ist Matplotlib-Blau, nicht Seaborn-Blau.

Seaborn-Farbpalette - Ausgabe 9

Angenommen, wir möchten die blaue Farbe von Seaborn mit der Funktion color_palette() extrahieren und die ersten beiden Farben auswählen. Das gibt uns das erste Tupel, blau, und das zweite, orange.

BLUE, ORANGE = seaborn.color_palette()[:2]
seaborn.scatterplot(x="total_bill", y="tip", data=customer_bill, color=BLUE)

Seaborn-Farbpalette - Ausgabe 10

Erstellen Sie eine benutzerdefinierte Farbpalette in Seaborn

Wir können unsere benutzerdefinierten Farbpaletten in Seaborn basierend auf einer einzelnen Farbe oder gemischt zwischen mehreren Farben erstellen. Wir können sogar eine Hervorhebungspalette erstellen, die eine bestimmte Kategorie hervorhebt.

Es gibt mehrere Möglichkeiten, mit Seaborn benutzerdefinierte Paletten zu erstellen. Wir können eine Ganzzahl übergeben, wenn wir zusätzliche Farben aus dieser Palette benötigen.

seaborn.color_palette("Pastel2", 10)

Seaborn-Farbpalette - Ausgabe 11

Wir können unsere Farbpaletten auch erstellen, indem wir auf die Funktion light_palette() zugreifen, und diese Methode akzeptiert eine benannte Farbe. Diese Palette enthält verschiedene Schattierungen einer Farbe.

seaborn.light_palette("gray")

Seaborn-Farbpalette - Ausgabe 12

Seaborn hat eine dark_palette()-Funktion, die eine dunkle Palette erzeugt. Die Farbe beginnt bei einem dunkleren Farbton und geht bis zur benannten Farbe.

seaborn.dark_palette("red")

Seaborn-Farbpalette - Ausgabe 13

Mit Seaborn können wir mit dieser blend_palette()-Funktion auch divergierende Paletten erstellen, und das Argument wird eine Liste von Farben sein. Dadurch wird eine Palette erstellt, die sich zwischen allen Farben, die wir auf der Liste übergeben haben, mischt.

seaborn.blend_palette(["blue", "red", "green"], 12)

Seaborn-Farbpalette - Ausgabe 14

Übergeben wir blend_palette() an das Palettenargument. Wenn wir dies tun, erhalten wir möglicherweise einen Fehler, weil die Standardanzahl von Farben für eine blend_palette() sechs ist, aber wir haben nur vier verschiedene Kategorien in unserer Tagesspalte.

seaborn.scatterplot(
    x="total_bill",
    y="tip",
    data=customer_bill,
    hue="day",
    palette=seaborn.blend_palette(["green", "red"]),
)

Ausgabe:

Seaborn-Farbpalette - Ausgabe 15

Wir müssen eine Ganzzahl übergeben, da unsere Spaltenkategorie day existiert.

seaborn.scatterplot(
    x="total_bill",
    y="tip",
    data=customer_bill,
    hue="day",
    palette=seaborn.blend_palette(["green", "red"], 4),
)

Seaborn-Farbpalette - Ausgabe 16

Seaborn bietet uns die Möglichkeit, eine Hervorhebungspalette zu verwenden, die immer dann verwendet wird, wenn wir eine oder zwei Kategorien hervorheben möchten. Wir werden ein Palettenwörterbuch für jeden einzelnen einzigartigen Tag erstellen.

P_DICT = {k: "gray" for k in customer_bill.day.unique()}
P_DICT

Der Name dieses Tages wird der Schlüssel zu diesem Wörterbuch sein.

Seaborn-Farbpalette - Ausgabe 17

Wenn wir den Freitag in unserer Abbildung hervorheben möchten, könnten wir jeder Kategorie, die uns interessiert, einen neuen Wert als red zuweisen.

P_DICT["Fri"] = "red"
seaborn.scatterplot(
    x="total_bill", y="tip", data=customer_bill, hue="day", palette=P_DICT
)

Wir können sehen, dass alle Tage grau sind, außer Freitag, rot gefärbt. Dies kann nützlich sein, wenn wir einen bestimmten Tag hervorheben möchten.

Seaborn-Farbpalette - Ausgabe 18

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

Verwandter Artikel - Seaborn Color