Skip to content

Les colormaps dans Matplotlib: Un guide complet

Updated on

La visualisation des données est une compétence cruciale dans la boîte à outils de tout data scientist. Elle aide à comprendre les données complexes, à trouver des motifs et à développer des intuitions qui guident les algorithmes d'apprentissage automatique. Parmi les bibliothèques populaires de visualisation de données en Python, une se distingue - Matplotlib. Avec sa puissance et sa polyvalence, elle vous permet de créer une large gamme de tracés statiques, animés et interactifs. Dans ce tutoriel, nous plongerons profondément dans un aspect essentiel de la visualisation des données - les colormaps dans Matplotlib.

Vous voulez créer rapidement une visualisation des données à partir d'un dataframe Python Pandas sans code ?

PyGWalker est une bibliothèque Python pour l'analyse exploratoire des données avec visualisation. PyGWalker (opens in a new tab) peut simplifier votre flux de travail d'analyse et de visualisation des données dans Jupyter Notebook en transformant votre dataframe pandas (et votre dataframe polars) en une interface utilisateur de style Tableau pour l'exploration visuelle.

PyGWalker pour la visualisation des données (opens in a new tab)

Qu'est-ce que les colormaps ?

Les colormaps sont une partie essentielle de l'Analyse visuelle des données. Ils associent des valeurs de données à des couleurs, aidant ainsi notre cerveau à reconnaître les motifs dans les données. Matplotlib propose une variété de colormaps intégrées, allant des colormaps séquentielles, des colormaps divergentes, des colormaps qualitatives aux colormaps cycliques. Mais parfois, ils peuvent ne pas suffire. C'est là que les colormaps personnalisées entrent en jeu.

Création de colormaps personnalisées

Comprendre les types de colormaps

Avant d'apprendre comment créer de nouvelles colormaps, il est essentiel de comprendre les différents types de colormaps disponibles. Cela nous aidera à modifier les colormaps de manière efficace.

  1. Colormaps séquentielles : Ces colormaps varient de manière uniforme en termes de luminosité et souvent en termes de teinte. Ils sont idéaux pour représenter des données continues et ordonnées. Des exemples populaires comprennent le "Hot Colormap" et le "Rdbu Colormap". Découvrez comment les modifier ici.

  2. Colormaps divergentes : Ces colormaps varient en termes de luminosité et éventuellement de teinte, dans deux directions différentes. Ils sont utiles lorsque les données ont une valeur médiane significative (zéro, par exemple).

  3. Colormaps qualitatives : Elles sont souvent utilisées pour les données catégorielles, car elles varient rapidement en termes de teinte.

  4. Colormaps cycliques : Ces colormaps sont utilisées pour des données qui se répètent aux extrémités, telles que l'angle de phase, la direction du vent ou l'heure du jour.

Génération d'un jeu de données aléatoire

Commençons par générer un jeu de données aléatoire en utilisant la bibliothèque pandas. Ce jeu de données nous aidera à visualiser l'impact de nos colormaps personnalisées. Apprenez comment générer un jeu de données aléatoire ici.

Création de colormaps personnalisées dans Matplotlib

La création de colormaps personnalisées dans Matplotlib est simple. Vous pouvez définir une colormap à partir d'une liste de couleurs (spécifiées dans n'importe quel format de couleurs Matplotlib), et les couleurs seront réparties uniformément dans la colormap. Voici comment créer une colormap qui passe du rouge au bleu :

import matplotlib.pyplot as plt
import numpy as np
 
cmap = plt.cm.colors.ListedColormap(['red', 'blue'])

Modification des colormaps existantes

Vous pouvez également modifier les colormaps existantes en utilisant la classe Colormap de Matplotlib. Vous pouvez créer une nouvelle colormap à partir d'une existante en utilisant la fonction get_cmap, puis modifier directement la couleur RGBA. Vous pouvez en savoir plus à ce sujet ici.

Visualisation des données avec des colormaps personnalisées

Maintenant que nous avons une colormap personnalisée, visualisons nos données. Nous utiliserons des sous-graphiques pour comparer notre colormap personnalisée avec une colormap par défaut. Vous pouvez en savoir plus sur la création de sous-graphiques ici.

fig, axs = plt.subplots(2)
 
# En utilisant la colormap par défaut
img1 = axs[0].imshow(data, cmap='viridis')
fig.colorbar(img1, ax=axs[0], orientation='vertical')
axs[0].set_title('Colormap par défaut')
 
# En utilisant la colormap personnalisée
img2 = axs[1].imshow(data, cmap=cmap)
fig.colorbar(img2, ax=axs[1], orientation='vertical')
axs[1].set_title('Colormap personnalisée')
 
plt.show()

Dans le code ci-dessus, imshow est utilisé pour afficher les données sous forme d'image où l'intensité des couleurs est basée sur les valeurs des données. La fonction colorbar ajoute une barre de couleur à nos sous-graphiques, et la fonction set_title définit le titre de nos sous-graphiques.

Au-delà de Matplotlib : Seaborn, Plotly et plus encore

Bien que Matplotlib soit une bibliothèque puissante, ce n'est pas la seule disponible pour la visualisation des données en Python. Des bibliothèques comme Seaborn et Plotly offrent également de grandes fonctionnalités et s'intègrent même bien avec Matplotlib. Seaborn, par exemple, est construite sur la base de Matplotlib et introduit des types de tracés supplémentaires. Elle rend également vos tracés meilleurs par défaut. Plotly, quant à elle, se spécialise dans la création de tracés interactifs. Vous pouvez trouver plus de détails sur ces bibliothèques ici.

Conclusion

Dans le domaine de la visualisation des données, le contrôle et la personnalisation des couleurs occupent une place prépondérante. Comprendre et utiliser les colormaps de manière efficace peut considérablement améliorer votre analyse visuelle des données. N'oubliez pas que le choix de la colormap peut mettre en évidence l'aspect important de vos données ou conduire à une interprétation erronée. Nous espérons que ce guide vous a fourni des informations précieuses sur la création, la modification et l'utilisation efficace de colormaps personnalisées dans Matplotlib. Alors que vous poursuivez votre parcours en science des données et en apprentissage automatique, ces compétences se révéleront être des atouts inestimables. Pour plus de tutoriels sur pandas et d'autres sujets Python, visitez notre index des tutoriels.