Come tracciare la linea orizzontale e verticale in Matplotlib

Jinku Hu 21 febbraio 2021
  1. axhline e axvline per tracciare linee orizzontali e verticali in Matplotlib
  2. hlines e vlines per tracciare linee orizzontali e verticali in Matplotlib
  3. Conclusione del disegno di linee orizzontali e verticali in Matplotlib
Come tracciare la linea orizzontale e verticale in Matplotlib

In questo tutorial, introdurremo due metodi per tracciare linee orizzontali e verticali in Matplotlib. Questi due metodi usano coordinate diverse in Matplotlib.

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

axhline e axvline per tracciare linee orizzontali e verticali in Matplotlib

axhline per tracciare una linea orizzontale

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

La axhline traccia una linea orizzontale alla posizione di y in coordinate dati della linea orizzontale, partendo da xmin a xmax che dovrebbe essere tra 0.0 e 1.0, dove 0.0 è l’estrema sinistra del grafico e 1.0 è l’estrema destra del grafico.

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

Linea orizzontale Matplotlib_plot con asse

axvline per tracciare una linea verticale

Allo stesso modo,

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

L’asse verticale axvline traccia una linea verticale nella posizione di x in coordinate dati della linea verticale, partendo da ymin a ymax che dovrebbe essere tra 0.0 e 1.0, dove 0.0 è la parte inferiore del grafico e 1.0 è la parte superiore del grafico.

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

Linea verticale Matplotlib_plot con asse

Come detto sopra, xmin / xmax e ymin / ymax si riferiscono al grafico, ma non alle linee di dati.

Pertanto, se ingrandiamo o rimpicciolire il grafico, i punti di inizio e fine delle linee orizzontali e verticali saranno aggiornati con il riferimento alla coordinata dei dati, ma si atterranno alle posizioni relative nella coordinata del grafico. Potremmo controllare l’animazione sottostante per avere una migliore comprensione.

Effetto zoom della linea orizzontale e verticale del matplotlib

hlines e vlines per tracciare linee orizzontali e verticali in Matplotlib

Se vogliamo che le linee orizzontali e verticali tracciate cambino automaticamente per mantenere la posizione relativa alla coordinata dei dati, dobbiamo usare hlines e vlines per tracciare le linee.

hlines(y, xmin, xmax)

Qui, y, xmin e xmax sono i valori delle coordinate dei dati.

vlines(x, ymin, ymax)

Qui, x, ymin e ymax sono i valori delle coordinate dei dati.

Vediamo i codici di esempio qui sotto.

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 e vlines per tracciare linee orizzontali e verticali

Matplotlib hlines e vlines zoom linea orizzontale e verticale in effetto

Conclusione del disegno di linee orizzontali e verticali in Matplotlib

Se avete bisogno che la linea sia riferita alla trama, l’opzione migliore dovrebbe essere axhline e axvline.

Se si preferisce che la linea si attenga alle coordinate dei dati, le hlines e vlines sono la scelta migliore.

Autore: 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

Articolo correlato - Matplotlib Line