Palette de couleurs Seaborn : Guide rapide pour le choix des couleurs
En matière de visualisation de données, la sélection de couleurs appropriées peut être aussi importante que le choix du type de graphique ou de la représentation des données. Heureusement, Python permet de trouver facilement la bonne palette de couleurs avec Seaborn. Lisez ce qui suit pour comprendre comment créer des visualisations qui ne sont pas seulement informatives, mais aussi visuellement frappantes et accessibles.
Si vous êtes novice en Python, commencez par le cours d' introduction à Python ou le cursus de programmation Python. Ces ressources vous fourniront les compétences nécessaires pour suivre les exemples et utiliser pleinement les capacités de Seaborn.
Petite note sur les bases de la couleur
Trois éléments principaux définissent une couleur : la teinte, la saturation et la valeur. Chacune d'entre elles est importante parce qu'elle transmet différents types d'informations.
Hue
La teinte est ce que nous considérons généralement comme une "couleur" - c'est la couleur pure elle-même, comme le rouge, le bleu ou le vert.
Illustration de la teinte. Image par l'auteur.
Ce visuel montre différentes teintes, en passant par la roue des couleurs, du rouge au violet. Les différentes teintes permettent de représenter des données catégorielles ou de mettre en évidence des éléments spécifiques. Par exemple, vous pouvez utiliser des teintes distinctes pour différencier des catégories non apparentées dans un diagramme à barres ou un diagramme de dispersion.
Saturation
La saturation fait référence à l'intensité ou à la pureté d'une couleur. Une couleur pleinement saturée est vive, tandis qu'une couleur moins saturée apparaît plus atténuée ou grise.
Illustration de la saturation. Image par l'auteur.
Ce dégradé montre différents niveaux de saturation pour une même teinte. La couleur de droite est entièrement saturée. En se déplaçant vers la gauche, la couleur devient de plus en plus désaturée, jusqu'à devenir presque grise. Des couleurs plus saturées peuvent attirer l'attention sur des points de données clés ou des régions d'intérêt.
Valeur
La valeur, également appelée luminosité, fait référence à la clarté ou à l'obscurité d'une couleur. L'ajout de blanc augmente la valeur, tandis que l'ajout de noir la diminue.
Illustration de la valeur (luminosité). Image par l'auteur.
Ce dégradé montre différents niveaux de luminosité pour une même teinte. À droite, nous voyons la couleur à son maximum. En se déplaçant vers la gauche, la valeur diminue et la couleur devient plus foncée. La valeur est utile pour montrer la progression ou la hiérarchie des données. Par exemple, vous pouvez utiliser un gradient de valeur dans une carte thermique pour montrer l'intensité des données sur une grille bidimensionnelle.
Palette de couleurs Seaborn Types
Explorons les trois principaux types de palettes de couleurs dans Seaborn : qualitatives, séquentielles et divergentes.
Palettes qualitatives utilisant color_palette()
Les palettes qualitatives sont conçues pour les données catégorielles où il n'y a pas d'ordre ou de relation inhérente entre les catégories. Ces palettes utilisent des teintes distinctes pour différencier les catégories.
Palette qualitative. Image par l'auteur.
La palette "Bright"
présentée ci-dessus est un exemple de palette qualitative intégrée dans Seaborn. Il utilise des teintes distinctes et vibrantes pour séparer les catégories. Les couleurs se distinguent facilement les unes des autres, ce qui en fait un outil idéal pour les données catégorielles pour lesquelles il n'existe pas d'ordre ou de relation inhérente entre les catégories.
La fonction color_palette()
permet à Seaborn de créer des palettes de couleurs personnalisées. Il vous permet de passer d'un type de palette à l'autre en changeant le nom de la palette et le nombre de couleurs. Lorsque vous utilisez des palettes nommées (comme "pastel"
ou "Blues"
), le paramètre number
détermine le nombre de couleurs que vous voyez. En général, vous faites correspondre le nombre de couleurs à vos catégories de données ou vous créez un gradient avec un nombre spécifique d'étapes.
Pour un contrôle encore plus précis, vous pouvez utiliser des codes HEX pour définir des couleurs exactes. Cette fonction est particulièrement utile lorsque vous devez faire correspondre des couleurs de marque spécifiques ou créer un schéma de couleurs unique qui n'est pas disponible dans les palettes intégrées. Voici comment vous pouvez créer différents types de palettes à l'aide de color_palette()
:
import seaborn as sns
# Create a qualitative palette with 4 colors
qual_palette = sns.color_palette("pastel", 4)
Création d'une palette qualitative avec quatre couleurs. Image par l'auteur.
# Create a sequential palette with 6 colors
seq_palette = sns.color_palette("Blues", 6)
Création d'une palette séquentielle de six couleurs. Image par l'auteur.
# Create a diverging palette with 12 colors
div_palette = sns.color_palette("RdBu", 12)
Création d'une palette divergente avec 12 couleurs. Image par l'auteur.
# Create a custom palette using HEX codes
hex = sns.color_palette(["#FF6B6B", "#4ECDC4", "#45B7D1","#FAD02E", "#594F4F"])
Création d'une palette personnalisée avec des codes HEX. Image par l'auteur.
Palettes séquentielles avec cubehelix_palette()
Les palettes séquentielles sont idéales pour les données numériques qui ont un ordre naturel. Ces palettes présentent une progression des valeurs faibles vers les valeurs élevées, en utilisant généralement des variations de luminosité et/ou de saturation d'une seule teinte ou de plusieurs teintes.
Illustration de la palette séquentielle Viridis. Image par l'auteur.
La palette "Viridis"
présente une progression du violet foncé au jaune vif. Ce type de palette permet de montrer une gamme de valeurs allant de la plus basse à la plus haute. Cette fonction est particulièrement utile pour visualiser des données continues telles que des plages de température, des densités de population ou tout autre ensemble de données pour lequel vous souhaitez montrer une relation claire entre le niveau le plus bas et le niveau le plus élevé. Les autres options intégrées sont les suivantes : ‘Blues’
, ‘Greens’
, ‘Reds’
, ‘YlOrBr’
, et ‘rocket’
.
La fonction cubehelix_palette()
permet de créer des palettes séquentielles avec un contrôle précis de la luminosité et de la progression des couleurs. Cette fonction est particulièrement utile lorsque vous avez besoin d'une palette dont la luminosité augmente doucement et dont la teinte varie légèrement. Voici les paramètres de personnalisation :
-
n_colors
: Le nombre de couleurs dans la palette. -
start
: La position de départ dans le cycle des couleurs (0-3). -
rot
: Détermine l'ampleur de la modification de la teinte. -
dark
: La couleur la plus foncée de la palette. -
light
: La couleur la plus claire de la palette. -
reverse
: Permet d'inverser le sens de la palette.
import seaborn as sns
# Create a default cubehelix palette
default_cube = sns.cubehelix_palette(8)
Illustration de la palette cube-hélix par défaut. Image par l'auteur.
# Create a custom cubehelix palette
custom_cube = sns.cubehelix_palette(8, start=.5, rot=-.75, dark=.3, light=.8)
Illustration d'une palette de cubehelix personnalisée. Image par l'auteur.
# Create a reversed cubehelix palette
reversed_cube = sns.cubehelix_palette(8, start=2, rot=0, dark=0, light=.95, reverse=True)
Illustration d'une palette de cube-hélix inversé. Image par l'auteur.
Palettes divergentes en utilisant diverging_palette()
Les palettes divergentes sont conçues pour les données qui ont un point médian significatif ou une valeur zéro. Ces palettes mettent en évidence la divergence à partir d'un point central, en utilisant deux teintes contrastées qui deviennent plus saturées à mesure que les valeurs s'éloignent du centre.
Illustration d'une palette divergente. Image par l'auteur.
L'exemple ci-dessus illustre efficacement la manière dont ces palettes mettent en évidence les divergences à partir d'un point central. La palette passe des bleus froids aux rouges chauds en passant par le blanc neutre, avec un point médian bien défini. Ce type de palette pourrait être utilisé pour visualiser des anomalies de température (où 0 représente la température moyenne), ou des scénarios de pertes et profits dans des données financières. Les autres options intégrées sont les suivantes : 'RdBu'
, 'RdYlGn'
, et 'PiYG'
. Examinons les paramètres :
-
h_neg
eth_pos
: Les teintes des parties négative et positive de la palette. -
n
: Le nombre de couleurs dans la palette. -
s
: La saturation des couleurs. -
l
: La légèreté des couleurs. -
center
: La couleur du point central ('light'
ou'dark'
).
import seaborn as sns
# Create a default diverging palette
default_div = sns.diverging_palette(220, 20, n=7)
Illustration d'une palette divergente par défaut. Image par l'auteur.
# Create a diverging palette with more saturation
saturated_div = sns.diverging_palette(250, 30, l=65, s=75, n=7)
Palette divergente avec plus de saturation. Image par l'auteur.
# Create a diverging palette with a darker center
dark_center_div = sns.diverging_palette(150, 275, s=80, l=55, n=9, center="dark")
Palette divergente avec un centre plus sombre. Image par l'auteur.
Note finale sur les palettes de couleurs Seaborn
Le choix de la bonne palette de couleurs est un aspect essentiel de la création de visualisations de données efficaces. La palette de couleurs de Seaborn, variée et personnalisable, fournit des outils puissants pour améliorer la clarté et l'impact de vos représentations de données.
Alors que vous appliquez ces concepts de couleur à vos projets de visualisation de données et que vous cherchez à faire progresser vos compétences, envisagez d'explorer des parcours d'apprentissage complets tels que le cursus de développeur Python ou d'analyste de données avec Python. Ces cursus axés sur la carrière sont conçus pour vous permettre de passer des concepts fondamentaux à des applications plus avancées, et il est toujours important de comprendre les bonnes visualisations.
En tant que professionnel de la science des données, de l'apprentissage automatique et de l'IA générative, Vinod se consacre au partage des connaissances et à l'autonomisation des scientifiques des données en herbe pour qu'ils réussissent dans ce domaine dynamique.
FAQ sur la palette de couleurs Seaborn
Quels sont les différents types de palettes de couleurs disponibles dans Seaborn ?
Seaborn propose trois types principaux de palettes de couleurs : qualitatives, séquentielles et divergentes. Les palettes qualitatives sont idéales pour les données catégorielles, les palettes séquentielles pour les données numériques avec un ordre naturel, et les palettes divergentes pour les données qui ont un point médian significatif.
Comment puis-je créer une palette de couleurs personnalisée dans Seaborn ?
Vous pouvez utiliser la fonction color_palette()
pour créer des palettes personnalisées, y compris des types qualitatifs, séquentiels et divergents. Il permet de sélectionner des couleurs spécifiques à l'aide de codes HEX pour un contrôle précis.
Quand dois-je utiliser cubehelix_palette() dans Seaborn ?
La fonction cubehelix_palette()
est utile pour créer des palettes séquentielles avec une progression régulière des couleurs, en particulier lorsque vous avez besoin d'un contrôle précis de la luminosité et de la variation des couleurs.
Quel est l'intérêt d'utiliser diverging_palette() dans la visualisation de données ?
La fonction diverging_palette()
est conçue pour les données dont le point médian est significatif, comme les profits/pertes ou les anomalies de température. Il utilise des teintes contrastées pour montrer les divergences par rapport au centre, ce qui permet de mettre l'accent sur les écarts.
Que sont la teinte, la saturation et la valeur dans la sélection des couleurs ?
La teinte représente la couleur pure, comme le rouge ou le bleu ; la saturation indique l'intensité de la couleur, de vive à atténuée ; et la valeur, également appelée luminosité, définit la clarté ou l'obscurité de la couleur. La compréhension de ces éléments permet de choisir des couleurs efficaces pour visualiser différents types de données.