Matplotlib : Place pour l'étiquette de l'axe des y

Beginner

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

Introduction

Matplotlib est une bibliothèque de visualisation de données en Python qui fournit diverses outils et techniques pour créer des graphiques visuellement attrayants. Parfois, il est nécessaire de laisser de la place pour l'étiquette y afin d'éviter de recouvrir ou de tronquer le texte. Ce laboratoire vous montrera comment utiliser le module axes_grid pour laisser de la place pour l'étiquette y dans Matplotlib.

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

Importation des bibliothèques et création d'une figure

La première étape consiste à importer les bibliothèques nécessaires et à créer une figure. Nous utilisons le module matplotlib.pyplot pour créer une figure et le module mpl_toolkits.axes_grid1 pour laisser de la place pour l'étiquette y.

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
from mpl_toolkits.axes_grid1.axes_divider import make_axes_area_auto_adjustable

fig = plt.figure()
ax = fig.add_axes([0, 0, 1, 1])

Définir les graduations et les étiquettes de l'axe des y

Dans cette étape, nous définissons les graduations et les étiquettes de l'axe des y. Nous utilisons la méthode set_yticks pour définir l'emplacement des graduations de l'axe des y et le paramètre labels pour définir l'étiquette des graduations de l'axe des y.

ax.set_yticks([0.5], labels=["very long label"])

Laisser de la place pour l'étiquette de l'axe des y

Maintenant, nous utilisons la méthode make_axes_area_auto_adjustable pour laisser de la place pour l'étiquette de l'axe des y. Cette méthode ajuste automatiquement la taille des axes pour accueillir l'étiquette de l'axe des y.

make_axes_area_auto_adjustable(ax)

Créer une figure avec deux axes

Dans cette étape, nous créons une figure avec deux axes. Nous utilisons la méthode add_axes pour ajouter deux axes à la figure. Nous définissons également l'étiquette de graduation de l'axe des y pour le premier axe et le titre pour le second axe.

fig = plt.figure()
ax1 = fig.add_axes([0, 0, 1, 0.5])
ax2 = fig.add_axes([0, 0.5, 1, 0.5])

ax1.set_yticks([0.5], labels=["very long label"])
ax1.set_ylabel("Y label")

ax2.set_title("Title")

Laisser de la place pour l'étiquette de l'axe des y et ajuster les axes

Dans cette étape, nous utilisons la méthode make_axes_area_auto_adjustable pour laisser de la place pour l'étiquette de l'axe des y dans les deux axes. Nous utilisons également le paramètre use_axes pour spécifier les axes à ajuster et le paramètre pad pour ajuster l'espacement entre les axes.

make_axes_area_auto_adjustable(ax1, pad=0.1, use_axes=[ax1, ax2])
make_axes_area_auto_adjustable(ax2, pad=0.1, use_axes=[ax1, ax2])

Créer une figure avec deux axes réglables

Dans cette étape, nous créons une figure avec deux axes réglables. Nous utilisons la méthode make_axes_locatable pour créer un diviseur permettant d'ajuster les axes. Nous ajoutons un nouvel axe à droite du premier axe en utilisant la méthode append_axes.

fig = plt.figure()
ax1 = fig.add_axes([0, 0, 1, 1])
divider = make_axes_locatable(ax1)
ax2 = divider.append_axes("right", "100%", pad=0.3, sharey=ax1)
fig.add_axes(ax2)

Ajuster les axes et laisser de la place pour l'étiquette de l'axe des y

Dans cette étape, nous utilisons la méthode add_auto_adjustable_area pour ajuster les axes et laisser de la place pour l'étiquette de l'axe des y. Nous définissons également le titre et l'étiquette de l'axe des x pour le second axe.

divider.add_auto_adjustable_area(use_axes=[ax1], pad=0.1,
                                 adjust_dirs=["left"])
divider.add_auto_adjustable_area(use_axes=[ax2], pad=0.1,
                                 adjust_dirs=["right"])
divider.add_auto_adjustable_area(use_axes=[ax1, ax2], pad=0.1,
                                 adjust_dirs=["top", "bottom"])

ax1.set_yticks([0.5], labels=["very long label"])
ax2.set_title("Title")
ax2.set_xlabel("X - Label")

Sommaire

Ce laboratoire vous a montré comment utiliser le module axes_grid de Matplotlib pour laisser de la place pour l'étiquette de l'axe des y. Nous avons utilisé différentes méthodes pour ajuster la taille des axes et laisser de la place pour l'étiquette de l'axe des y dans différents scénarios. En suivant ces étapes, vous pouvez créer des graphiques visuellement attrayants qui sont faciles à lire et à comprendre.