Dibujar líneas verticales en una parcela Matplotlib

Vaibhav Vaibhav 29 noviembre 2021
Dibujar líneas verticales en una parcela Matplotlib

Cuando trabajamos con gráficos, a menudo tenemos que dibujar líneas horizontales y verticales sobre los gráficos para representar cierta información. Podría ser un valor promedio, un valor de umbral o algún rango. Este artículo hablará sobre cómo podemos crear líneas verticales en gráficos generados usando Matplotlib en Python.

Dibujar líneas verticales usando axvline() en Matplotlib

axvline() es una función de la biblioteca Matplotlib que dibuja líneas verticales a lo largo de los ejes. Esta función toma muchos argumentos, pero hablaremos de tres de ellos que se enumeran a continuación.

  • x: The position of the line on the x-axis
  • ymin: este valor debe estar entre 0 y 1, donde 0 representa la parte inferior de la gráfica y 1 representa la parte superior de la gráfica.
  • ymax: este valor debe estar entre 0 y 1, donde 0 representa la parte inferior de la gráfica y 1 representa la parte superior de la gráfica.

Otros argumentos incluyen color, label, marker, snap, transform, url, visible, etc.

Consulte los siguientes ejemplos para comprender cómo utilizar esta función.

Ejemplo 1: trazado de una sola línea vertical

import random
import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
y = np.array([1, 2, 5, 6, 3, 11, 8, 5, 10, 11])
# Plotting a single vertical line
plt.axvline(x=5, color="green", label="Index 5")
plt.plot(x, y, color="red", label="Values")
plt.title("Plotting a single vertical line")
plt.xlabel("Indexes")
plt.ylabel("Values")
plt.legend()
plt.show()

Producción:

trazar una sola línea vertical en matplotlib

Ejemplo 2: trazado de varias líneas verticales

import random
import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
y = np.array([1, 2, 5, 6, 3, 11, 8, 5, 10, 11])

for i in range(3):
    plt.axvline(
        x=random.randint(1, 10),
        color=np.random.rand(
            3,
        ),
    )  # Plotting a vertical line

plt.plot(x, y, color="red", label="Values")
plt.title("Plotting multiple vertical lines")
plt.xlabel("Indexes")
plt.ylabel("Values")
plt.legend()
plt.show()

Producción:

trazar múltiples líneas verticales en matplotlib

Ejemplo 3: varias líneas con longitudes variables

import random
import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
y = np.array([1, 2, 5, 6, 3, 11, 8, 5, 10, 11])
yMins = [1, 0.7, 0.5]
yMaxs = [0.1, 0.4, 0]
positions = [2, 4, 8]

for i in range(3):
    plt.axvline(
        x=positions[i],
        ymin=yMins[i],
        ymax=yMaxs[i],
        color=np.random.rand(
            3,
        ),
    )  # Plotting a vertical line

plt.plot(x, y, color="red", label="Values")
plt.title("Plotting a multiple vertical lines")
plt.xlabel("Indexes")
plt.ylabel("Values")
plt.legend()
plt.show()

Producción:

trazar múltiples líneas verticales con longitudes variables en matplotlib

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Artículo relacionado - Matplotlib Line