Création d'étiquettes personnalisées pour les graduations d'une barre de couleur dans Matplotlib

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 la visualisation de données, les barres de couleur sont utilisées pour représenter la plage de valeurs d'un ensemble de données à l'aide de couleurs. Matplotlib est une bibliothèque Python pour créer diverses visualisations, y compris des barres de couleur. Dans ce laboratoire, nous allons apprendre à personnaliser les étiquettes d'échelle sur une barre de couleur dans Matplotlib.

Conseils sur la VM

Une fois le démarrage de la VM terminé, cliquez sur le coin supérieur gauche pour basculer vers l'onglet Carnet d'étude pour accéder à Jupyter Notebook pour la pratique.

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

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ésoudrons rapidement le problème pour vous.

Importez les bibliothèques nécessaires et fixez l'état aléatoire

Tout d'abord, nous devons importer les bibliothèques nécessaires et fixer l'état aléatoire pour la reproductibilité. Nous utiliserons numpy pour générer des données aléatoires, matplotlib.pyplot pour créer des visualisations et cm de matplotlib pour définir les cartes de couleur.

import matplotlib.pyplot as plt
import numpy as np
from numpy.random import randn

from matplotlib import cm

## Fixing random state for reproducibility
np.random.seed(19680801)

Créez un graphique avec une barre de couleur verticale

Nous commencerons par créer un graphique avec une barre de couleur verticale. Nous allons générer des données aléatoires en utilisant randn de numpy et limiter les valeurs à la plage de -1 à 1. Nous créerons ensuite un objet AxesImage en utilisant imshow et la carte de couleur coolwarm. Enfin, nous ajouterons un titre au graphique.

## Make plot with vertical (default) colorbar
fig, ax = plt.subplots()

data = np.clip(randn(250, 250), -1, 1)

cax = ax.imshow(data, cmap=cm.coolwarm)
ax.set_title('Gaussian noise with vertical colorbar')

Personnalisez les étiquettes d'échelle sur la barre de couleur verticale

Ensuite, nous allons personnaliser les étiquettes d'échelle sur la barre de couleur verticale. Nous allons créer une barre de couleur en utilisant colorbar et spécifier les emplacements des échelles à l'aide du paramètre ticks. Nous définirons ensuite les étiquettes d'échelle en utilisant set_yticklabels sur l'attribut ax de l'objet barre de couleur.

## Add colorbar, make sure to specify tick locations to match desired ticklabels
cbar = fig.colorbar(cax, ticks=[-1, 0, 1])
cbar.ax.set_yticklabels(['< -1', '0', '> 1'])  ## vertically oriented colorbar

Créez un graphique avec une barre de couleur horizontale

Nous allons maintenant créer un graphique avec une barre de couleur horizontale. Nous allons suivre les mêmes étapes que dans l'Étape 2, mais cette fois-ci nous utiliserons la carte de couleur afmhot et définirons l'orientation de la barre de couleur sur horizontale.

## Make plot with horizontal colorbar
fig, ax = plt.subplots()

data = np.clip(randn(250, 250), -1, 1)

cax = ax.imshow(data, cmap=cm.afmhot)
ax.set_title('Gaussian noise with horizontal colorbar')

cbar = fig.colorbar(cax, ticks=[-1, 0, 1], orientation='horizontal')
cbar.ax.set_xticklabels(['Low', 'Medium', 'High'])  ## horizontal colorbar

Affichez le graphique

Enfin, nous allons afficher le graphique en utilisant plt.show().

plt.show()

Sommaire

Dans ce laboratoire, nous avons appris à personnaliser les étiquettes d'échelle sur une barre de couleur dans Matplotlib. Nous avons tout d'abord créé un graphique avec une barre de couleur verticale et personnalisé les étiquettes d'échelle en utilisant set_yticklabels. Nous avons ensuite créé un graphique avec une barre de couleur horizontale et personnalisé les étiquettes d'échelle en utilisant set_xticklabels. La personnalisation des étiquettes d'échelle sur une barre de couleur peut aider à rendre vos visualisations plus informatives et plus faciles à lire.