Contourf et échelle de couleur logarithmique

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à utiliser la fonction contourf de Matplotlib pour créer des graphes de courbes de niveau remplies avec une échelle de couleur logarithmique. Nous utiliserons un ensemble de données avec des valeurs positives et négatives pour démontrer cette fonctionnalité.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.

Importez les bibliothèques nécessaires

Nous devons importer les bibliothèques suivantes :

  • matplotlib.pyplot pour créer des graphiques et des visualisations
  • numpy pour générer l'ensemble de données
import matplotlib.pyplot as plt
import numpy as np

Générez l'ensemble de données

Nous allons générer un ensemble de données avec des valeurs positives et négatives en utilisant numpy :

N = 100
x = np.linspace(-3.0, 3.0, N)
y = np.linspace(-2.0, 2.0, N)

X, Y = np.meshgrid(x, y)

## Une bosse basse avec une pointe sortante.
## Doit avoir l'axe z/couleur en échelle logarithmique, afin que nous voyions à la fois la bosse et la pointe.
## Une échelle linéaire ne montre que la pointe.
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X * 10)**2 - (Y * 10)**2)
z = Z1 + 50 * Z2

## Mettez quelques valeurs négatives (coin inférieur gauche) pour causer des problèmes avec les logarithmes :
z[:5, :5] = -1

## Ce qui suit n'est pas strictement essentiel, mais cela éliminera
## un avertissement.  Commentez-le pour voir l'avertissement.
z = ma.masked_where(z <= 0, z)

Créez le graphique

Nous allons utiliser la fonction contourf pour créer un graphique de courbes de niveau remplies avec une échelle de couleur logarithmique :

fig, ax = plt.subplots()
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.PuBu_r)

cbar = fig.colorbar(cs)

plt.show()

Personnalisez le graphique

Nous pouvons personnaliser le graphique en ajoutant des étiquettes, des titres et en changeant la carte de couleurs :

fig, ax = plt.subplots()
cs = ax.contourf(X, Y, z, locator=ticker.LogLocator(), cmap=cm.coolwarm)

ax.set_title('Contourf Plot with Log Color Scale')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')

cbar = fig.colorbar(cs)

plt.show()

Sommaire

Dans ce laboratoire, nous avons appris à utiliser la fonction contourf dans Matplotlib pour créer des graphiques de courbes de niveau remplies avec une échelle de couleur logarithmique. Nous avons également appris à personnaliser le graphique en ajoutant des étiquettes, des titres et en changeant la carte de couleurs.