Matplotlib est une puissante bibliothèque Python pour créer des visualisations. L’ajout de lignes horizontales et verticales à vos graphiques peut améliorer considérablement la clarté en mettant en évidence des points de données, des seuils ou des régions d’intérêt. Cet article présente deux méthodes efficaces pour y parvenir : l’utilisation de axhline
/axvline
et de hlines
/vlines
.
Table des matières
Utilisation de axhline
et axvline
Les fonctions axhline
et axvline
offrent un moyen simple d’ajouter respectivement des lignes horizontales et verticales uniques, directement à un objet axes Matplotlib. Elles sont idéales lorsqu’une ligne doit s’étendre sur l’ensemble du graphique.
import matplotlib.pyplot as plt
import numpy as np
# Données d'échantillon
x = np.linspace(0, 10, 100)
y = np.sin(x)
# Création du graphique
fig, ax = plt.subplots()
ax.plot(x, y)
# Ajout d'une ligne horizontale à y = 0.5
ax.axhline(y=0.5, color='r', linestyle='--', linewidth=2)
# Ajout d'une ligne verticale à x = 5
ax.axvline(x=5, color='g', linestyle='-', linewidth=1)
# Personnalisation de l'apparence (facultatif)
ax.set_xlabel("Axe X")
ax.set_ylabel("Axe Y")
ax.set_title("Lignes horizontales et verticales avec axhline/axvline")
plt.show()
Ce code génère une onde sinusoïdale et ajoute une ligne horizontale rouge en pointillés à y = 0.5
et une ligne verticale verte pleine à x = 5
. Vous pouvez personnaliser les propriétés des lignes à l’aide de paramètres tels que color
, linestyle
, linewidth
, alpha
(transparence) et label
(pour les légendes).
Utilisation de hlines
et vlines
Pour un contrôle plus précis, notamment lors du tracé de plusieurs lignes ou de lignes ne couvrant qu’une partie des axes, hlines
et vlines
offrent une plus grande flexibilité. Elles permettent de spécifier individuellement les coordonnées y pour les lignes horizontales et les coordonnées x pour les lignes verticales.
import matplotlib.pyplot as plt
import numpy as np
# Données d'échantillon
x = np.linspace(0, 10, 100)
y = np.sin(x)
# Création du graphique
fig, ax = plt.subplots()
ax.plot(x, y)
# Ajout de plusieurs lignes horizontales
ax.hlines(y=[0, 0.5, 1], xmin=0, xmax=10, colors=['b', 'r', 'g'], linestyles=['-', '--', ':'])
# Ajout de plusieurs lignes verticales
ax.vlines(x=[2, 7], ymin=0, ymax=1, colors=['k', 'm'], linewidths=[2, 1])
# Personnalisation de l'apparence (facultatif)
ax.set_xlabel("Axe X")
ax.set_ylabel("Axe Y")
ax.set_title("Lignes horizontales et verticales avec hlines/vlines")
plt.show()
Cet exemple ajoute trois lignes horizontales à différentes valeurs de y sur toute la plage de x et deux lignes verticales à des coordonnées x spécifiques, s’étendant de ymin=0
à ymax=1
. Des listes sont utilisées pour les spécifications de plusieurs lignes. Notez l’utilisation de linewidths
pour contrôler l’épaisseur des lignes.
Conclusion
axhline
/axvline
et hlines
/vlines
sont des outils utiles pour améliorer les graphiques Matplotlib. axhline
/axvline
sont plus simples pour les lignes uniques couvrant l’ensemble du graphique, tandis que hlines
/vlines
offrent une plus grande flexibilité pour les lignes multiples ou les lignes avec des points de début et de fin spécifiques. Le meilleur choix dépend de vos besoins de visualisation. N’oubliez pas d’adapter les styles et les couleurs des lignes pour une clarté optimale.