Redimensionnement des axes avec mise en page contrainte #

La mise en page contrainte tente de redimensionner les sous-parcelles dans une figure afin qu'il n'y ait pas de chevauchement entre les objets d'axes et les étiquettes sur les axes.

Voir Guide de mise en page contrainte pour plus de détails et Guide de mise en page serrée pour une alternative.

import matplotlib.pyplot as plt


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)

Si nous n'utilisons pas Constrained_layout, les étiquettes chevauchent les axes

fig, axs = plt.subplots(nrows=2, ncols=2, constrained_layout=False)

for ax in axs.flat:
    example_plot(ax)
Titre, titre, titre, titre

l' ajout constrained_layout=Trues'ajuste automatiquement.

fig, axs = plt.subplots(nrows=2, ncols=2, constrained_layout=True)

for ax in axs.flat:
    example_plot(ax)
Titre, titre, titre, titre

Vous trouverez ci-dessous un exemple plus compliqué utilisant des spécifications de grille imbriquées.

fig = plt.figure(constrained_layout=True)

import matplotlib.gridspec as gridspec

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()
Titre, titre, titre, titre, titre

Références

L'utilisation des fonctions, méthodes, classes et modules suivants est illustrée dans cet exemple :

Durée totale d'exécution du script : (0 minutes 2,712 secondes)

Galerie générée par Sphinx-Gallery