Hoe de horizontale en verticale lijn in Matplotlib te plotten

  1. axhline en axvline om horizontale en verticale lijnen in Matplotlib te plotten
  2. hlines en vlines om de horizontale en verticale lijn in Matplotlib te plotten
  3. Conclusie van het tekenen van horizontale en verticale lijnen in Matplotlib

In deze tutorial zullen we twee methoden introduceren om horizontale en verticale lijnen in Matplotlib te tekenen. Deze twee methoden gebruiken verschillende coördinaten in Matplotlib.

  • axhline() / axvline()
  • hlines() / vlines()

axhline en axvline om horizontale en verticale lijnen in Matplotlib te plotten

axhline om een ​​horizontale lijn uit te zetten

matplotlib.pyplot.axhline(y=0, xmin=0, xmax=1, hold=None, **kwargs)

axhline plot een horizontale lijn op de positie van y in de gegevenscoördinaat van de horizontale lijn, beginnend xmin met xmax die tussen 0.0 en 1.0 , waar 0.0 is uiterst links van de plot en 1.0 is uiterst rechts van de plot.

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 lijn met axhline

axvline om een ​​verticale lijn uit te zetten

Evenzo,

matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1, hold=None, **kwargs)

axvline plot een verticale lijn op de positie van x in de gegevenscoördinaat van de verticale lijn, beginnend ymin met ymax die tussen 0.0 en 1.0 , waar 0.0 is de onderkant van de plot en 1.0 de bovenkant van de plot.

    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 verticale lijn met axhline

Zoals hierboven vermeld, verwijzen xmin / xmax en ymin / ymax naar de plot, maar niet naar de datalijnen.

Daarom, als we de plot in- of uitzoomen, worden de begin- en eindpunten van de horizontale en verticale lijnen bijgewerkt met de verwijzing naar de gegevenscoördinaat, maar houden we ons aan de relatieve posities in de plotcoördinaat. We kunnen de onderstaande animatie controleren om een ​​beter begrip te krijgen.

Matplotlib horizontale en verticale lijnzoom van kracht

hlines en vlines om de horizontale en verticale lijn in Matplotlib te plotten

Als we willen dat de geplotte horizontale en verticale lijnen automatisch veranderen om de relatieve positie ten opzichte van de gegevenscoördinaat te behouden, moeten we lijnen gebruiken hlines en vlines plotten.

hlines(y, xmin, xmax)

Hier y , xmin en xmax worden de waarden van de gegevens te coördineren.

vlines(x, ymin, ymax)

Hier x , ymin en ymax worden de waarden van de gegevens te coördineren.

Laten we de voorbeeldcodes hieronder bekijken.

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_hlines en vlines om horizontale en verticale lijnen te plotten

Matplotlib hlines en vlines horizontale en verticale lijnzoom zijn van kracht

Conclusie van het tekenen van horizontale en verticale lijnen in Matplotlib

Als de regel moet worden doorverwezen naar de plot, axhline en dit axvline zou de betere optie moeten zijn.

Als u liever dat de lijn zich aan de gegevenscoördinaat houdt hlines en vlines de betere keuzes zijn.