Axes insérés pour la barre de couleur dans Matplotlib

Beginner

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

Introduction

Ce tutoriel vous montrera comment contrôler la position, la hauteur et la largeur des barres de couleur à l'aide de mpl_toolkits.axes_grid1.inset_locator.inset_axes. Cela est utile lorsque vous voulez ajouter une barre de couleur à votre graphique mais que vous voulez personnaliser sa taille et sa position.

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 à Jupyter Notebook pour pratiquer.

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

Importation des bibliothèques requises

Tout d'abord, nous devons importer les bibliothèques requises : matplotlib et inset_axes à partir de mpl_toolkits.axes_grid1.

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.inset_locator import inset_axes

Création d'un graphique et d'une image

Ensuite, nous allons créer un graphique et une image pour montrer comment ajouter une barre de couleur à l'aide d'axes insérés.

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=[6, 3])

im1 = ax1.imshow([[1, 2], [2, 3]])
im2 = ax2.imshow([[1, 2], [2, 3]])

Ajout d'une barre de couleur à l'aide d'axes insérés

Maintenant, nous allons ajouter une barre de couleur à chacune des images à l'aide d'axes insérés. La première barre de couleur sera ajoutée à ax1 et la seconde à ax2.

## add colorbar to ax1
axins1 = inset_axes(
    ax1,
    width="50%",  ## width: 50% of parent_bbox width
    height="5%",  ## height: 5%
    loc="upper right",
)
axins1.xaxis.set_ticks_position("bottom")
fig.colorbar(im1, cax=axins1, orientation="horizontal", ticks=[1, 2, 3])

## add colorbar to ax2
axins2 = inset_axes(
    ax2,
    width="5%",  ## width: 5% of parent_bbox width
    height="50%",  ## height: 50%
    loc="lower left",
    bbox_to_anchor=(1.05, 0., 1, 1),
    bbox_transform=ax2.transAxes,
    borderpad=0,
)
fig.colorbar(im2, cax=axins2, ticks=[1, 2, 3])

Afficher le graphique

Enfin, nous allons afficher le graphique à l'aide de plt.show().

plt.show()

Sommaire

Dans ce tutoriel, nous avons appris à utiliser mpl_toolkits.axes_grid1.inset_locator.inset_axes pour ajouter une barre de couleur à un graphique avec une taille et une position personnalisées. La fonction inset_axes nous permet de contrôler la position, la hauteur et la largeur de la barre de couleur, ce qui facilite la création de graphiques professionnels.