Dies kann ein häufiges Problem für neue Benutzer von Matplotlib sein, vertikale und horizontale Linien zu zeichnen. Um dieses Problem zu verstehen, sollten Sie sich bewusst sein, dass in Matplotlib unterschiedliche Koordinatensysteme existieren .
Das Verfahren axhline und axvline werden verwendet Linien an den ziehen Koordinatenachsen . In diesem Koordinatensystem beträgt die Koordinate für den unteren linken Punkt (0,0), während die Koordinate für den oberen rechten Punkt (1,1) ist, unabhängig vom Datenbereich Ihres Diagramms. Sowohl der Parameter xminals auch xmaxliegen im Bereich [0,1].
Auf der anderen Seite, Methode hlines und vlines verwenden Linien an den ziehen Koordinatendaten . Der Bereich für xminund xmaxliegt im Bereich der Datengrenze der x-Achse.
Nehmen wir ein konkretes Beispiel:
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()
Es wird das folgende Diagramm erstellt:

Der Wert für xminund xmaxist für die Methode axhlineund gleich hlines. Die Länge der produzierten Linie ist jedoch unterschiedlich.