Créer une palette de couleurs différente à l'aide de Seaborn

Salman Mehmood 26 mai 2022
Créer une palette de couleurs différente à l'aide de Seaborn

Cet article explorera différentes options pour les palettes de couleurs Seaborn. Nous vous montrerons également comment créer votre palette de couleurs personnalisée dans Seaborn.

Créer différentes palettes de couleurs à l’aide de Seaborn

Commençons par importer Seaborn et enregistrons-le sous le nom de seaborn. Nous allons également charger certaines données de la bibliothèque Seaborn appelées tips.

import seaborn as seaborn

Jetez un œil à la partie supérieure du bloc de données customer_bill et voyez que nous avons différents montants de facture et de pourboire laissés par chaque client. Nous avons également différentes caractéristiques, comme le jour de la semaine ou le moment où ce repas a été servi.

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

palette de couleurs seaborn - sortie 1

Maintenant, nous définissons set_style sur darkgrid et créons le nuage de points à l’aide de la fonction scatterplot.

Dans cette fonction scatterplot, nous avons passé l’axe des abscisses le total_bill, et l’axe des ordonnées représente le tip. La propriété data provient de la trame de données customer_bill.

On peut aussi passer une autre colonne, une colonne catégorielle comme day, à la propriété hue. Cela se divisera en différentes couleurs pour chaque jour de la semaine.

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

palette de couleurs seaborn - sortie 2

Si vous remarquez, Seaborn utilise sa palette de couleurs par défaut dans les nuages ​​de points. Nous pouvons vérifier la palette par défaut de Seaborn en utilisant la fonction color_palette().

seaborn.color_palette()

Cela vous montrera la palette de couleurs par défaut que Seaborn utilise pour les quatre premières couleurs.

palette de couleurs seaborn - sortie 3

On peut passer plusieurs options dans la fonction color_palette(). Si nous passons un nom de chaîne valide tel que Pastel2, nous verrons les autres palettes de couleurs.

seaborn.color_palette("Pastel2")

palette de couleurs seaborn - sortie 4

Nous pouvons utiliser différentes palettes de couleurs nommées. Nous n’avons qu’à ajouter cet argument palette et à le définir comme égal à un nom de palette valide.

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

palette de couleurs seaborn - sortie 5

Il existe actuellement 170 palettes de couleurs nommées différentes que nous pouvons utiliser dans Seaborn. Si vous oubliez leurs noms, vous n’êtes pas obligé d’aller les chercher; vous pouvez passer un nom de palette invalide tel que :

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

Production:

palette de couleurs seaborn - sortie 6

Si vous remarquez que beaucoup d’entre eux avec _r. Ce sont la même palette mais dans l’ordre inverse.

seaborn.color_palette("Pastel2_r")

palette de couleurs seaborn - sortie 7

Si nous ne transmettons pas l’argument palette, alors Seaborn définit la couleur de la palette par défaut.

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

palette de couleurs seaborn - sortie 8

Si nous voulons mettre à jour la couleur de ces points, nous l’appellerons ferons référence en tant que color. Ce n’est pas une palette; c’est une couleur parce que nous n’avons qu’une seule couleur sur toute la figure, mais regardez ce qui se passe si nous changeons cette couleur en bleu de chaîne.

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

C’est le bleu Matplotlib, pas le bleu Seaborn.

palette de couleurs seaborn - sortie 9

Supposons que nous voulions extraire la couleur bleue de Seaborn à l’aide de la fonction color_palette() et prélever les deux premières couleurs. Cela nous donne le premier tuple, bleu, et le second, orange.

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

palette de couleurs seaborn - sortie 10

Créer une palette de couleurs personnalisée dans Seaborn

Nous pouvons créer nos palettes de couleurs personnalisées dans Seaborn basées sur une seule couleur ou mélangées entre plusieurs couleurs. Nous pouvons même créer une palette de surbrillance qui met l’accent sur une catégorie particulière.

Il existe plusieurs façons de créer des palettes personnalisées avec Seaborn. Nous pouvons passer un entier si nous avons besoin de couleurs supplémentaires dans cette palette.

seaborn.color_palette("Pastel2", 10)

palette de couleurs seaborn - sortie 11

Nous pouvons également créer nos palettes de couleurs en accédant à la fonction light_palette(), et cette méthode accepte une couleur nommée. Cette palette contient différentes nuances d’une même couleur.

seaborn.light_palette("gray")

palette de couleurs seaborn - sortie 12

Seaborn a une fonction dark_palette() qui crée une palette sombre. La couleur commence à partir d’une teinte plus foncée et monte jusqu’à la couleur nommée.

seaborn.dark_palette("red")

palette de couleurs seaborn - sortie 13

Seaborn nous permet également de créer des palettes divergentes à l’aide de cette fonction blend_palette(), et l’argument sera une liste de couleurs. Cela créera une palette qui se mélange entre toutes les couleurs que nous avons passées sur la liste.

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

palette de couleurs seaborn - sortie 14

Passons blend_palette() à l’argument palette. Nous pouvons obtenir une erreur lorsque nous faisons cela car le nombre de couleurs par défaut pour une blend_palette() est de six, mais nous n’avons que quatre catégories différentes dans notre colonne de jour.

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

Production:

palette de couleurs seaborn - sortie 15

Nous devons passer un nombre entier car la catégorie de notre colonne day existe.

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

palette de couleurs seaborn - sortie 16

Seaborn nous offre la possibilité d’utiliser une palette de surbrillance, qui sera utilisée chaque fois que nous voulons mettre l’accent sur une ou deux catégories. Nous allons créer un dictionnaire de palette pour chaque jour unique.

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

Le nom de ce jour sera la clé de ce dictionnaire.

palette de couleurs seaborn - sortie 17

Si nous voulons mettre en évidence le vendredi dans notre figure, nous pourrions attribuer une nouvelle valeur en tant que red à la catégorie qui nous intéresse.

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

On peut voir que tous les jours sont gris sauf le vendredi, coloré en rouge. Cela peut être utile si nous voulons mettre en évidence un jour particulier.

palette de couleurs seaborn - sortie 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

Article connexe - Seaborn Color