Diviseur d'axes de Matplotlib

Beginner

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

Introduction

Dans ce laboratoire, nous allons apprendre à utiliser l'Axe Divider de Matplotlib pour créer des layouts personnalisés pour les sous-graphiques dans une figure.

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 d'adresses 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 allons commencer par importer les bibliothèques nécessaires pour ce laboratoire : matplotlib.pyplot et mpl_toolkits.axes_grid1.

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import Divider
import mpl_toolkits.axes_grid1.axes_size as Size

Configurez la figure et les axes

Nous allons créer un objet figure et configurer quatre objets axes à l'aide de la méthode fig.add_axes.

fig = plt.figure(figsize=(5.5, 4))
rect = (0.1, 0.1, 0.8, 0.8)
ax = [fig.add_axes(rect, label="%d" % i) for i in range(4)]

Configurez le diviseur d'axes

Nous allons configurer le diviseur d'axes à l'aide de la classe Divider et des classes AxesX et AxesY du module mpl_toolkits.axes_grid1.axes_size. Ensuite, nous utiliserons la méthode new_locator pour définir la position de chaque axe.

horiz = [Size.AxesX(ax[0]), Size.Fixed(.5), Size.AxesX(ax[1])]
vert = [Size.AxesY(ax[0]), Size.Fixed(.5), Size.AxesY(ax[2])]
divider = Divider(fig, rect, horiz, vert, aspect=False)

ax[0].set_axes_locator(divider.new_locator(nx=0, ny=0))
ax[1].set_axes_locator(divider.new_locator(nx=2, ny=0))
ax[2].set_axes_locator(divider.new_locator(nx=0, ny=2))
ax[3].set_axes_locator(divider.new_locator(nx=2, ny=2))

Personnalisez les limites et l'apparence des axes

Nous allons personnaliser les limites et l'apparence de chaque axe à l'aide des méthodes set_xlim, set_ylim et tick_params.

ax[0].set_xlim(0, 2)
ax[1].set_xlim(0, 1)
ax[0].set_ylim(0, 1)
ax[2].set_ylim(0, 2)
for ax1 in ax:
    ax1.tick_params(labelbottom=False, labelleft=False)

Affichez le tracé

Enfin, nous allons afficher le tracé à l'aide de la méthode show.

plt.show()

Récapitulatif

Dans ce laboratoire, nous avons appris à utiliser le diviseur d'axes de Matplotlib pour créer des dispositions personnalisées pour les sous-graphiques dans une figure. Nous avons créé un objet figure et configuré quatre objets axes, puis utilisé le diviseur d'axes pour positionner les axes dans une grille. Nous avons personnalisé les limites et l'apparence de chaque axe et affiché le tracé à l'aide de la méthode show.