Data Visualization

Maîtriser l’espacement des sous-tracés dans Matplotlib

Spread the love

Matplotlib est une puissante librairie Python pour créer des visualisations. Lors de l’utilisation de plusieurs subplots, un espacement efficace est crucial pour la lisibilité. Cet article explore les méthodes pour contrôler l’espacement des subplots dans Matplotlib.

Table des matières

Méthode tight_layout()

La fonction tight_layout() est un moyen simple et efficace d’ajuster l’espacement des subplots. Elle empêche automatiquement le chevauchement d’éléments tels que les titres et les étiquettes. C’est idéal lorsque vous n’avez pas besoin d’un contrôle précis sur les paramètres d’espacement individuels.


import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

fig, axes = plt.subplots(2, 1)

axes[0].plot(x, y1)
axes[0].set_title('Sinusoïde')
axes[1].plot(x, y2)
axes[1].set_title('Cosinus')

plt.tight_layout()
plt.show()

Méthode subplots_adjust()

Pour un contrôle précis, utilisez plt.subplots_adjust(). Cette fonction permet de manipuler les paramètres d’espacement : left, bottom, right, top, wspace (largeur), et hspace (hauteur). Ce sont des fractions des dimensions de la figure.


import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

fig, axes = plt.subplots(2, 1)

axes[0].plot(x, y1)
axes[0].set_title('Sinusoïde')
axes[1].plot(x, y2)
axes[1].set_title('Cosinus')

plt.subplots_adjust(hspace=0.5)
plt.show()

Ici, hspace=0.5 augmente l’espacement vertical. Expérimentez avec les valeurs pour obtenir la mise en page souhaitée. Ajustez de même wspace pour l’espacement horizontal.

Méthode subplot_tool()

plt.subplot_tool() fournit une interface interactive. Elle ouvre une fenêtre où vous pouvez faire glisser et redimensionner les subplots visuellement. Ceci est particulièrement utile pour les mises en page complexes.


import matplotlib.pyplot as plt

fig, axes = plt.subplots(2, 2)

plt.subplot_tool()
plt.show()

Paramètre constrained_layout=True

Une approche moderne et robuste consiste à utiliser constrained_layout=True dans plt.subplots(). Ceci ajuste automatiquement les paramètres pour éviter les chevauchements, gérant les mises en page complexes plus efficacement que tight_layout().


import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

fig, axes = plt.subplots(2, 1, constrained_layout=True)

axes[0].plot(x, y1)
axes[0].set_title('Sinusoïde')
axes[1].plot(x, y2)
axes[1].set_title('Cosinus')

plt.show()

Ceci simplifie le code et offre une solution fiable, surtout pour les figures complexes. Choisissez la méthode la mieux adaptée à vos besoins : tight_layout() ou constrained_layout=True pour des ajustements simples ; subplots_adjust() pour un contrôle précis ; et subplot_tool() pour des ajustements interactifs.

Laisser un commentaire

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