Wie man in Matplotlib horizontale und vertikale Linien zeichnet
-
axhlineundaxvline, um horizontale und vertikale Linien in Matplotlib zu zeichnen -
hlinesundvlinesum horizontale und vertikale Linien in Matplotlib zu zeichnen - Abschluss des Zeichnens von horizontalen und vertikalen Linien in Matplotlib
In diesem Tutorial stellen wir zwei Methoden vor, um horizontale und vertikale Linien in Matplotlib zu zeichnen. Diese beiden Methoden verwenden unterschiedliche Koordinaten in Matplotlib.
axhline()/axvline()dlines()/vlines()
axhline und axvline, um horizontale und vertikale Linien in Matplotlib zu zeichnen
axhline um eine horizontale Linie zu zeichnen
matplotlib.pyplot.axhline(y=0, xmin=0, xmax=1, hold=None, **kwargs)
axhline zeichnet eine horizontale Linie an der Position von y in den Datenkoordinaten der horizontalen Linie, beginnend mit xmin bis xmax, die zwischen 0.0 und 1.0 liegen sollte, wobei 0.0 die äußerste linke und 1.0 die äußerste rechte Seite des Plots ist.
from matplotlib import pyplot as plt
xdata = list(range(10))
ydata = [_ * 2 for _ in xdata]
plt.plot(xdata, ydata, "b")
plt.axhline(y=5, xmin=0.1, xmax=0.9)
plt.grid()
plt.show()

axvline um eine vertikale Linie zu zeichnen
Ähnlich,
matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1, hold=None, **kwargs)
axvline zeichnet eine vertikale Linie an der Position von x in der Datenkoordinate der vertikalen Linie, beginnend mit ymin bis ymax, die zwischen 0.0 und 1.0 liegen sollte, wobei 0.0 das untere Ende und 1.0 das obere Ende des Plots ist.
from matplotlib import pyplot as plt
xdata = list(range(10))
ydata = [_ * 2 for _ in xdata]
plt.plot(xdata, ydata, "b")
plt.axvline(x=5, ymin=0.1, ymax=0.9)
plt.grid()
plt.show()

Wie oben erwähnt, beziehen sich xmin / xmax und ymin / ymax auf den Plot, aber nicht auf die Datenzeilen.
Wenn wir also den Plot vergrößern oder verkleinern, werden die Anfangs- und Endpunkte der horizontalen und vertikalen Linien mit dem Bezug auf die Datenkoordinate aktualisiert, bleiben aber an den relativen Positionen in der Plotkoordinate hängen. Zum besseren Verständnis können wir die untenstehende Animation betrachten.

hlines und vlines um horizontale und vertikale Linien in Matplotlib zu zeichnen
Wenn wir wollen, dass sich die gezeichneten horizontalen und vertikalen Linien automatisch ändern, um die relative Position zu den Datenkoordinaten beizubehalten, müssen wir hlines und vlines verwenden, um Linien zu zeichnen.
hlines(y, xmin, xmax)
Hier sind y, xmin und xmax die Werte der Datenkoordinate.
vlines(x, ymin, ymax)
Hier sind x, ymin und ymax die Werte der Datenkoordinate.
Sehen wir uns die Beispielcodes unten an.
from matplotlib import pyplot as plt
xdata = list(range(10))
ydata = [_ * 2 for _ in xdata]
plt.plot(xdata, ydata, "b")
plt.hlines(y=5, xmin=0, xmax=10)
plt.vlines(x=5, ymin=0, ymax=20)
plt.grid()
plt.show()


Abschluss des Zeichnens von horizontalen und vertikalen Linien in Matplotlib
Wenn Sie die Linie auf die Handlung beziehen wollen, sollten axhline und axvline die bessere Option sein.
Wenn Sie es vorziehen, dass die Linie an der Datenkoordinate bleibt, sind hlines und vlines die bessere Wahl.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook