Comment utiliser Tight_layout() dans Matplotlib



Vous pouvez utiliser la fonction Tight_layout() dans Matplotlib pour ajuster automatiquement le remplissage entre et autour des sous-parcelles.

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : comment utiliser Tight_layout() dans Matplotlib

Supposons que nous utilisions Matplotilb pour créer quatre sous-parcelles dans une grille 2×2 :

import matplotlib.pyplot as plt

#define data
x = [1, 2, 3]
y = [7, 13, 24]

#define layout for subplots
fig, ax = plt.subplots(2, 2)

#define subplot titles
ax[0, 0].plot(x, y, color='red')
ax[0, 1].plot(x, y, color='blue')
ax[1, 0].plot(x, y, color='green')
ax[1, 1].plot(x, y, color='purple')

#add title to each subplot
ax[0, 0].set_title('First Subplot')
ax[0, 1].set_title('Second Subplot')
ax[1, 0].set_title('Third Subplot')
ax[1, 1].set_title('Fourth Subplot')

Notez qu’il y a un remplissage minimal entre les sous-intrigues, ce qui entraîne un chevauchement des titres à certains endroits.

En spécifiant fig.tight_layout() nous pouvons ajuster automatiquement le remplissage entre et autour des sous-intrigues :

import matplotlib.pyplot as plt

#define data
x = [1, 2, 3]
y = [7, 13, 24]

#define layout for subplots
fig, ax = plt.subplots(2, 2)

#specify a tight layout
fig.tight_layout()

#define subplot titles
ax[0, 0].plot(x, y, color='red')
ax[0, 1].plot(x, y, color='blue')
ax[1, 0].plot(x, y, color='green')
ax[1, 1].plot(x, y, color='purple')

#add title to each subplot
ax[0, 0].set_title('First Subplot')
ax[0, 1].set_title('Second Subplot')
ax[1, 0].set_title('Third Subplot')
ax[1, 1].set_title('Fourth Subplot')

exemple matplotlib serré_layout

Notez que le remplissage entre et autour des sous-traces a été ajusté afin que les parcelles ne se chevauchent plus dans aucune zone.

Notez que la fonction Tight_layout() prend un argument pad pour spécifier le remplissage entre le bord de la figure et les bords des sous-tracés, sous forme de fraction de la taille de la police.

La valeur par défaut du pad est 1,08 . Cependant, nous pouvons augmenter cette valeur pour augmenter le remplissage autour des tracés :

import matplotlib.pyplot as plt

#define data
x = [1, 2, 3]
y = [7, 13, 24]

#define layout for subplots
fig, ax = plt.subplots(2, 2)

#specify a tight layout with increased padding
fig.tight_layout(pad=5)

#define subplot titles
ax[0, 0].plot(x, y, color='red')
ax[0, 1].plot(x, y, color='blue')
ax[1, 0].plot(x, y, color='green')
ax[1, 1].plot(x, y, color='purple')

#add title to each subplot
ax[0, 0].set_title('First Subplot')
ax[0, 1].set_title('Second Subplot')
ax[1, 0].set_title('Third Subplot')
ax[1, 1].set_title('Fourth Subplot')

Matplotlib Tight_layout avec un remplissage accru

Notez que le remplissage autour des parcelles a sensiblement augmenté.

N’hésitez pas à ajuster la valeur de l’argument pad pour augmenter le remplissage autour des tracés autant que vous le souhaitez.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans Matplotlib :

Comment ajouter un titre aux sous-parcelles dans Matplotlib
Comment ajuster la taille de la sous-parcelle dans Matplotlib
Comment ajuster l’espacement entre les sous-parcelles Matplotlib

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *