Wie man in Matplotlib horizontale und vertikale Linien zeichnet

Jinku Hu 22 Januar 2022
  1. axhline und axvline, um horizontale und vertikale Linien in Matplotlib zu zeichnen
  2. hlines und vlines um horizontale und vertikale Linien in Matplotlib zu zeichnen
  3. Abschluss des Zeichnens von horizontalen und vertikalen Linien in Matplotlib
Wie man in Matplotlib horizontale und vertikale Linien zeichnet

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()

Matplotlib_plot horizontale Linie mit Achslinie

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()

Matplotlib_Plot vertikale Linie mit Achslinie

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.

Matplotlib horizontale und vertikale Linie vergrößern

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()

Matplotlib_Linien und v-Linien zum Plotten von horizontalen und vertikalen Linien

Matplotlib hLinien und vLinien horizontale und vertikale Linie vergrößern

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.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

Verwandter Artikel - Matplotlib Line