Comment créer un tracé de contour dans Matplotlib
Un tracé de contours est un type de tracé qui nous permet de visualiser des données tridimensionnelles en deux dimensions à l’aide de contours.
Vous pouvez créer un tracé de contour dans Matplotlib en utilisant les deux fonctions suivantes :
- matplotlib.pyplot.contour() – Crée des tracés de contour.
- matplotlib.pyplot.contourf() – Crée des tracés de contour remplis.
Les exemples suivants montrent comment utiliser ces deux fonctions dans la pratique.
Exemple 1 : tracé de contour dans Matplotlib
Supposons que nous ayons les données suivantes en Python :
import numpy as np x = np.linspace(0, 5, 50) y = np.linspace(0, 5, 40) X, Y = np.meshgrid(x, y) Z = np.sin(X*2+Y)*3 + np.cos(Y+5)
Nous pouvons utiliser le code suivant pour créer un tracé de contour pour les données :
import matplotlib.pyplot as plt plt.contour(X, Y, Z, colors='black')
Lorsqu’une seule couleur est utilisée pour le tracé, les lignes pointillées représentent les valeurs négatives et les lignes pleines représentent les valeurs positives.
Une alternative consiste à spécifier une palette de couleurs à l’aide de l’argument cmap . Nous pouvons également spécifier plus de lignes à utiliser dans le tracé avec l’argument niveaux :
plt.contour(X, Y, Z, levels=30, cmap='Reds')
Nous avons choisi d’utiliser le cmap ‘Reds’ mais vous pouvez trouver une liste complète des options de palette de couleurs sur la page de documentation de Matplotlib .
Exemple 2 : tracé de contour rempli dans Matplotlib
Un tracé de contour rempli est similaire à un tracé de contour, sauf que les espaces entre les lignes sont remplis.
Le code suivant montre comment utiliser la fonction contourf() pour créer un tracé de contour rempli pour les mêmes données que celles utilisées dans l’exemple précédent :
plt.contourf(X, Y, Z, cmap='Reds')
Nous pouvons également utiliser la fonction colorbar() pour ajouter une barre de couleur étiquetée à côté du tracé :
plt.contourf(X, Y, Z, cmap='Reds') plt.colorbar()
Vous pouvez trouver plus de didacticiels Matplotlib ici .