Data Visualization

Maîtriser les cartes thermiques 2D avec Matplotlib et Seaborn

Spread the love

Les cartes de chaleur sont inestimables pour visualiser des données sur une grille bidimensionnelle, où l’intensité de la couleur représente l’amplitude de chaque valeur. Matplotlib, une puissante bibliothèque de visualisation de données Python, offre plusieurs manières de créer des cartes de chaleur convaincantes. Cet article explore trois méthodes populaires : l’utilisation de imshow(), l’utilisation de la bibliothèque Seaborn et l’utilisation de pcolormesh(). Nous aborderons chaque méthode avec des exemples et des explications clairs.

Table des matières

imshow() : Une approche simple

La fonction imshow() de Matplotlib fournit un moyen simple de générer des cartes de chaleur. Elle accepte un tableau 2D en entrée, en mappant les valeurs aux couleurs à l’aide d’une palette de couleurs choisie.


import matplotlib.pyplot as plt
import numpy as np

# Données d'échantillon
data = np.random.rand(10, 10)

# Création de la carte de chaleur
plt.imshow(data, cmap='viridis')

# Ajout d'une barre de couleur
plt.colorbar(label='Valeur')

# Ajout d'étiquettes et de titre
plt.xlabel('Axe X')
plt.ylabel('Axe Y')
plt.title('Carte de chaleur 2D utilisant imshow()')

# Affichage du graphique
plt.show()

Ce code crée une carte de chaleur où l’intensité de la couleur des cellules reflète la valeur correspondante dans le tableau data. L’argument cmap sélectionne la palette de couleurs (par exemple, ‘plasma’, ‘magma’, ‘inferno’, ‘cividis’). colorbar() ajoute une légende mappant les couleurs aux valeurs.

heatmap() de Seaborn : Fonctionnalités améliorées

Seaborn, basé sur Matplotlib, offre une interface de niveau supérieur pour créer des tracés statistiquement perspicaces et visuellement attrayants, y compris des cartes de chaleur. Sa fonction heatmap() simplifie le processus et ajoute des fonctionnalités utiles.


import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

# Données d'échantillon
data = np.random.rand(10, 10)

# Création de la carte de chaleur
sns.heatmap(data, annot=True, cmap='coolwarm', fmt=".2f")

# Ajout du titre
plt.title('Carte de chaleur 2D utilisant Seaborn')

# Affichage du graphique
plt.show()

Cet exemple Seaborn génère une carte de chaleur similaire, mais avec annot=True affichant les valeurs numériques dans chaque cellule, améliorant la lisibilité. fmt contrôle la mise en forme des annotations.

pcolormesh() : Pour les données irrégulières et un contrôle précis

pcolormesh() de Matplotlib est idéal pour les cartes de chaleur avec des données irrégulièrement espacées ou lorsqu’un contrôle précis des limites des cellules est nécessaire.


import matplotlib.pyplot as plt
import numpy as np

# Données d'échantillon (utilisation de meshgrid pour la démonstration)
x = np.arange(0, 10, 1)
y = np.arange(0, 10, 1)
X, Y = np.meshgrid(x, y)
data = np.sin(X) * np.cos(Y)

# Création de la carte de chaleur
plt.pcolormesh(X, Y, data, cmap='RdBu')

# Ajout d'une barre de couleur
plt.colorbar(label='Valeur')

# Ajout d'étiquettes et de titre
plt.xlabel('Axe X')
plt.ylabel('Axe Y')
plt.title('Carte de chaleur 2D utilisant pcolormesh()')

# Affichage du graphique
plt.show()

Cet exemple utilise meshgrid pour créer des grilles de coordonnées x et y, définissant les limites des cellules pour pcolormesh(). Cela offre une plus grande flexibilité que imshow(). La palette de couleurs RdBu est un schéma divergent adapté aux données à la fois positives et négatives. N’oubliez pas d’installer les bibliothèques nécessaires à l’aide de pip install matplotlib seaborn.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *