Data Visualization

Ajouter efficacement des titres aux subplots Matplotlib

Spread the love

Matplotlib est une puissante bibliothèque Python pour créer des visualisations. Lorsque l’on travaille avec plusieurs sous-graphiques, un étiquetage clair est essentiel. Cet article explore des méthodes efficaces pour ajouter des titres à vos sous-graphiques Matplotlib.

Table des matières

Ajouter des titres de sous-graphiques avec set_title()

L’approche la plus simple utilise la méthode set_title() directement sur l’objet sous-graphique. Cette méthode est intuitive et très lisible.


import matplotlib.pyplot as plt
import numpy as np

# Données d'exemple
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# Créer des sous-graphiques
fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(8, 6))

# Ajouter des titres
axes[0].plot(x, y1)
axes[0].set_title('Onde sinusoïdale')

axes[1].plot(x, y2)
axes[1].set_title('Onde cosinusoïdale')

# Ajuster la disposition
plt.tight_layout()
plt.show()

Définir des titres de sous-graphiques avec title.set_text()

Alternativement, vous pouvez utiliser l’attribut title de l’objet sous-graphique. La méthode set_text() de cet attribut modifie le texte du titre. Fonctionnellement équivalent à set_title(), il offre une syntaxe légèrement différente.


import matplotlib.pyplot as plt
import numpy as np

# Données d'exemple
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# Créer des sous-graphiques
fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(8, 6))

# Ajouter des titres
axes[0].plot(x, y1)
axes[0].title.set_text('Onde sinusoïdale')

axes[1].plot(x, y2)
axes[1].title.set_text('Onde cosinusoïdale')

plt.tight_layout()
plt.show()

Utiliser plt.gca()

plt.gca() (obtenir les axes actuels) renvoie les axes actuellement actifs. Bien utile pour les sous-graphiques simples ou lorsque les axes actifs sont connus, il est moins clair et maintenable pour plusieurs sous-graphiques. Il est généralement préférable de référencer directement les objets sous-graphiques pour des raisons de lisibilité.


import matplotlib.pyplot as plt
import numpy as np

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

plt.figure(figsize=(6, 4))
plt.plot(x, y1)
plt.gca().set_title('Onde sinusoïdale utilisant gca()')
plt.show()

Bonnes pratiques et considérations

Pour la clarté et la maintenabilité, surtout avec plusieurs sous-graphiques, il est recommandé d’utiliser directement axes[i].set_title() ou axes[i].title.set_text(). plt.gca() doit être utilisé avec parcimonie. Utilisez toujours plt.tight_layout() pour éviter les chevauchements d’éléments. Envisagez d’utiliser des titres descriptifs qui reflètent avec précision les données présentées dans chaque sous-graphique.

Laisser un commentaire

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