Matplotlib offre plusieurs manières d’ajouter un titre principal unique à une figure contenant plusieurs sous-graphiques. Cela améliore la lisibilité et fournit un contexte crucial à vos visualisations. Cet article explore deux méthodes principales, en soulignant leurs similitudes et leurs subtiles différences.
Table des matières
Utilisation de pyplot.suptitle()
La fonction pyplot.suptitle()
offre un moyen concis d’ajouter un titre principal. Elle fait partie du module matplotlib.pyplot
(typiquement importé comme plt
). Cette méthode est simple et largement utilisée.
import matplotlib.pyplot as plt
# Données d'exemple
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]
# Création des sous-graphiques
fig, axes = plt.subplots(2, 1)
# Tracé des données
axes[0].plot(x, y1)
axes[0].set_title('Sous-graphique 1')
axes[1].plot(x, y2)
axes[1].set_title('Sous-graphique 2')
# Ajout du titre principal
plt.suptitle('Titre principal de la figure', fontsize=14)
# Ajustement de la mise en page (essentiel pour éviter les chevauchements)
plt.tight_layout(rect=[0, 0.03, 1, 0.95])
plt.show()
La fonction plt.tight_layout()
est essentielle. Elle ajuste automatiquement les paramètres des sous-graphiques pour éviter le chevauchement des titres. Le paramètre rect
affine la mise en page ; vous devrez peut-être ajuster ses valeurs en fonction de la longueur de votre titre et du nombre de sous-graphiques.
Utilisation de figure.suptitle()
Alternativement, la méthode figure.suptitle()
, accessible via l’objet figure lui-même, offre une fonctionnalité équivalente. Cette approche s’aligne sur un style de programmation orienté objet.
import matplotlib.pyplot as plt
# Données d'exemple (identiques à celles ci-dessus)
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]
# Création des sous-graphiques
fig, axes = plt.subplots(2, 1)
# Tracé des données
axes[0].plot(x, y1)
axes[0].set_title('Sous-graphique 1')
axes[1].plot(x, y2)
axes[1].set_title('Sous-graphique 2')
# Ajout du titre principal en utilisant l'objet figure
fig.suptitle('Titre principal de la figure (Orienté objet)', fontsize=14)
# Ajustement de la mise en page
plt.tight_layout(rect=[0, 0.03, 1, 0.95])
plt.show()
Ce code reflète l’exemple précédent, démontrant le caractère interchangeable de ces deux méthodes.
Choisir la bonne méthode
Les deux méthodes obtiennent des résultats identiques. Le choix dépend souvent des préférences personnelles ou du style de codage. pyplot.suptitle()
est plus concis, tandis que figure.suptitle()
s’aligne mieux avec une approche strictement orientée objet. La cohérence au sein de votre projet est essentielle. N’oubliez pas d’utiliser toujours plt.tight_layout()
ou d’ajuster manuellement les paramètres des sous-graphiques pour garantir une figure propre et lisible.