Come tracciare la linea orizzontale e verticale in Matplotlib

  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

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.

Articolo correlato - Matplotlib Line

  • Stili lineari in Matplotlib Python
  • Traccia più linee in Python Matplotlib