Cómo trazar una línea horizontal y vertical en Matplotlib

Jinku Hu 30 enero 2023
  1. axhline y axvline para trazar líneas horizontales y verticales en Matplotlib
  2. hlines y vlines para trazar líneas horizontales y verticales en Matplotlib
  3. Conclusión del dibujo de líneas horizontales y verticales en Matplotlib
Cómo trazar una línea horizontal y vertical en Matplotlib

En este tutorial introduciremos dos métodos para dibujar líneas horizontales y verticales en Matplotlib. Estos dos métodos utilizan diferentes coordenadas en Matplotlib.

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

axhline y axvline para trazar líneas horizontales y verticales en Matplotlib

axhline para trazar una línea horizontal

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

La axhline traza una línea horizontal en la posición de y en la coordenada de datos de la línea horizontal, comenzando desde xmin a xmax que debe estar entre 0.0 y 1.0, donde 0.0 es el extremo izquierdo del gráfico y 1.0 es el extremo derecho del gráfico.

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

Línea horizontal de Matplotlib_plot con axhline

axvline para trazar una línea vertical

De manera similar,

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

La axvline traza una línea vertical en la posición de x en la coordenada de datos de la línea vertical, comenzando desde ymin hasta ymax que debe estar entre 0.0 y 1.0, donde 0.0 es la parte inferior del gráfico y 1.0 es la parte superior del gráfico.

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

Línea vertical de Matplotlib_plot con axhline

Como ya se ha dicho, xmin / xmax y ymin / ymax se refieren a la gráfica, pero no a las líneas de datos.

Por lo tanto, si acercamos o alejamos el gráfico, los puntos de inicio y final de las líneas horizontales y verticales se actualizarán con la referencia a la coordenada de los datos, pero se mantendrán las posiciones relativas en la coordenada del gráfico. Podríamos revisar la siguiente animación para entenderla mejor.

Efecto del zoom de las líneas horizontales y verticales de Matplotlib

hlines y vlines para trazar líneas horizontales y verticales en Matplotlib

Si queremos que las líneas horizontales y verticales trazadas cambien automáticamente para mantener la posición relativa a la coordenada de los datos, necesitamos usar hlines y vlines para trazar las líneas.

hlines(y, xmin, xmax)

Aquí, y, xmin y xmax son los valores de la coordenada de los datos.

vlines(x, ymin, ymax)

Aquí, x, ymin y ymax son los valores de la coordenada de datos.

Veamos los códigos de ejemplo a continuación.

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 y vlines para trazar líneas horizontales y verticales

Efecto de zoom de líneas horizontales y verticales Matplotlib hlines y vlines

Conclusión del dibujo de líneas horizontales y verticales en Matplotlib

Si necesitas que la línea esté referida al gráfico, axhline y axvline deberían ser la mejor opción.

Si prefieres que la línea se pegue a la coordenada de los datos, las hlines y las vlines son las mejores opciones.

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

Artículo relacionado - Matplotlib Line