Redimensionnement des axes avec mise en page contraignante

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

En visualisation de données, il est crucial d'avoir des graphiques clairs et lisibles. Cependant, la création de plusieurs sous-graphiques peut rendre difficile d'éviter les chevauchements entre les objets d'axes et les étiquettes. Dans de tels cas, nous pouvons utiliser une fonction appelée constrained layout dans Matplotlib, qui redimensionne automatiquement les sous-graphiques pour empêcher les chevauchements entre les objets d'axes et les étiquettes.

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 Notebook 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 limitations de Jupyter Notebook.

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

Importation des bibliothèques requises

Nous commençons par importer les bibliothèques nécessaires pour créer des sous-graphiques et tracer des données.

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

Définition d'un graphique d'exemple

Nous définissons une fonction qui crée un graphique linéaire simple avec des étiquettes pour l'axe x et l'axe y et un titre.

def example_plot(ax):
    ax.plot([1, 2])
    ax.set_xlabel('x-label', fontsize=12)
    ax.set_ylabel('y-label', fontsize=12)
    ax.set_title('Title', fontsize=14)

Création de sous-graphiques sans mise en page contraignante

Nous créons une figure avec des sous-graphiques 2x2 sans utiliser la fonction constrained layout. Cela entraîne des chevauchements d'étiquettes sur les axes.

fig, axs = plt.subplots(nrows=2, ncols=2, layout=None)

for ax in axs.flat:
    example_plot(ax)

Création de sous-graphiques avec mise en page contraignante

Nous créons les mêmes sous-graphiques 2x2, mais cette fois-ci nous utilisons la mise en page contraignante (constrained layout). Cela ajuste automatiquement les sous-graphiques pour empêcher les chevauchements entre les objets d'axes et les étiquettes.

fig, axs = plt.subplots(nrows=2, ncols=2, layout='constrained')

for ax in axs.flat:
    example_plot(ax)

Création de grille de sous-graphiques imbriquées avec mise en page contraignante

Nous créons un exemple plus complexe en utilisant des grille de sous-graphiques imbriquées avec la mise en page contraignante (constrained layout). Cela nous permet d'avoir plus de contrôle sur la disposition des sous-graphiques.

fig = plt.figure(layout='constrained')

gs0 = gridspec.GridSpec(1, 2, figure=fig)

gs1 = gridspec.GridSpecFromSubplotSpec(3, 1, subplot_spec=gs0[0])
for n in range(3):
    ax = fig.add_subplot(gs1[n])
    example_plot(ax)


gs2 = gridspec.GridSpecFromSubplotSpec(2, 1, subplot_spec=gs0[1])
for n in range(2):
    ax = fig.add_subplot(gs2[n])
    example_plot(ax)

plt.show()

Sommaire

La mise en page contraignante (constrained layout) est une fonction utile dans Matplotlib qui redimensionne automatiquement les sous-graphiques pour empêcher les chevauchements entre les objets d'axes et les étiquettes. Elle est particulièrement utile lorsqu'on crée plusieurs sous-graphiques dans une figure. En suivant les étapes décrites dans ce tutoriel, vous pouvez créer des graphiques clairs et lisibles sans avoir à vous soucier des étiquettes qui se chevauchent.

Sommaire

Félicitations ! Vous avez terminé le laboratoire Redimensionnement des axes avec mise en page contraignante. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.