Cela peut être un problème courant pour les nouveaux utilisateurs de Matplotlib pour dessiner des lignes verticales et horizontales. Afin de comprendre ce problème, vous devez être conscient que différents systèmes de coordonnées existent dans Matplotlib .
Les méthodes axhline et axvline sont utilisées pour tracer des lignes aux coordonnées des axes . Dans ce système de coordonnées, la coordonnée du point inférieur gauche est (0,0), tandis que la coordonnée du point supérieur droit est (1,1), quelle que soit la plage de données de votre tracé. Les deux paramètres xmin
et xmax
sont dans la plage [0,1].
D'autre part, les méthodes hlines et vlines sont utilisées pour dessiner des lignes à la coordonnée des données . La plage pour xmin
et xmax
sont dans la plage de données limite de l'axe x.
Prenons un exemple concret,
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 5, 100)
y = np.sin(x)
fig, ax = plt.subplots()
ax.plot(x, y)
ax.axhline(y=0.5, xmin=0.0, xmax=1.0, color='r')
ax.hlines(y=0.6, xmin=0.0, xmax=1.0, color='b')
plt.show()
Il produira l'intrigue suivante:
La valeur de xmin
et xmax
est la même pour la méthode axhline
et hlines
. Mais la longueur de la ligne produite est différente.