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 xmin
als auch xmax
liegen im Bereich [0,1].
Auf der anderen Seite, Methode hlines und vlines verwenden Linien an den ziehen Koordinatendaten . Der Bereich für xmin
und xmax
liegt 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 xmin
und xmax
ist für die Methode axhline
und gleich hlines
. Die Länge der produzierten Linie ist jedoch unterschiedlich.