Data Visualization

Dominando Líneas Horizontales y Verticales en Gráficos Matplotlib

Spread the love

Matplotlib es una potente biblioteca de Python para crear visualizaciones. Agregar líneas horizontales y verticales a sus gráficos puede mejorar significativamente la claridad al resaltar puntos de datos, umbrales o regiones de interés. Este artículo muestra dos métodos efectivos para lograr esto: usando axhline/axvline y hlines/vlines.

Tabla de contenido

Usando axhline y axvline

Las funciones axhline y axvline ofrecen una manera sencilla de agregar líneas horizontales y verticales individuales, respectivamente, directamente a un objeto de ejes Matplotlib. Son ideales cuando una línea necesita abarcar toda la gráfica.


import matplotlib.pyplot as plt
import numpy as np

# Datos de muestra
x = np.linspace(0, 10, 100)
y = np.sin(x)

# Crear la gráfica
fig, ax = plt.subplots()
ax.plot(x, y)

# Agregar una línea horizontal en y = 0.5
ax.axhline(y=0.5, color='r', linestyle='--', linewidth=2)

# Agregar una línea vertical en x = 5
ax.axvline(x=5, color='g', linestyle='-', linewidth=1)

# Personalizar apariencia (opcional)
ax.set_xlabel("Eje X")
ax.set_ylabel("Eje Y")
ax.set_title("Líneas horizontales y verticales con axhline/axvline")

plt.show()

Este código genera una onda sinusoidal y agrega una línea horizontal roja discontinua en y = 0.5 y una línea vertical verde continua en x = 5. Puede personalizar las propiedades de la línea usando parámetros como color, linestyle, linewidth, alpha (transparencia) y label (para leyendas).

Usando hlines y vlines

Para un mayor control, particularmente cuando se grafican varias líneas o líneas que abarcan solo una parte de los ejes, hlines y vlines proporcionan mayor flexibilidad. Permiten especificar las coordenadas y para las líneas horizontales y las coordenadas x para las líneas verticales individualmente.


import matplotlib.pyplot as plt
import numpy as np

# Datos de muestra
x = np.linspace(0, 10, 100)
y = np.sin(x)

# Crear la gráfica
fig, ax = plt.subplots()
ax.plot(x, y)

# Agregar múltiples líneas horizontales
ax.hlines(y=[0, 0.5, 1], xmin=0, xmax=10, colors=['b', 'r', 'g'], linestyles=['-', '--', ':'])

# Agregar múltiples líneas verticales
ax.vlines(x=[2, 7], ymin=0, ymax=1, colors=['k', 'm'], linewidths=[2, 1])

# Personalizar apariencia (opcional)
ax.set_xlabel("Eje X")
ax.set_ylabel("Eje Y")
ax.set_title("Líneas horizontales y verticales con hlines/vlines")

plt.show()

Este ejemplo agrega tres líneas horizontales en diferentes valores de y en todo el rango de x y dos líneas verticales en coordenadas x específicas, que se extienden desde ymin=0 hasta ymax=1. Se utilizan listas para múltiples especificaciones de línea. Observe el uso de linewidths para controlar el grosor de la línea.

Conclusión

Tanto axhline/axvline como hlines/vlines son herramientas útiles para mejorar las gráficas de Matplotlib. axhline/axvline son más sencillas para líneas individuales que abarcan toda la gráfica, mientras que hlines/vlines ofrecen mayor flexibilidad para múltiples líneas o líneas con puntos de inicio y fin específicos. La mejor opción depende de sus necesidades de visualización. Recuerde adaptar los estilos y colores de las líneas para una claridad óptima.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *