C'est peut-être un problème courant pour les nouveaux utilisateurs de Matplotlib de tracer des lignes verticales et horizontales. Afin de comprendre ce problème, vous devez savoir que différents systèmes de coordonnées existent dans Matplotlib .
La méthode ligne axiale y axvline sont utilisés pour tracer des lignes à l axes coordonnés . 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
y xmax
sont dans l'intervalle [0,1].
D'autre part, la méthode hlines y vlines sont utilisés pour tracer des lignes à l coordonnées de données . La gamme pour xmin
y xmax
sont dans la plage de la limite des données de l'axe des 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 le graphique suivant :
La valeur de xmin
y xmax
sont les mêmes pour le axhline
y hlines
méthode. Mais la longueur de la ligne produite est différente.