Saltar al contenido

matplotlib flechas simples y de dos cabezas

Solución:

Puede crear una flecha de dos puntas con el annotate método con anotación de texto en blanco y estableciendo el arrowprops dictar para incluir arrowstyle="<->" Como se muestra abajo:

import matplotlib.pyplot as plt

plt.annotate(s="", xy=(1,1), xytext=(0,0), arrowprops=dict(arrowstyle="<->"))

plt.show()

Gráfico de ejemplo

Puede crear flechas de dos puntas trazando dos plt.arrow que se superponen. El siguiente código ayuda a hacer eso.

import matplotlib.pyplot as plt

plt.figure(figsize=(12,6))

# red arrow
plt.arrow(0.15, 0.5, 0.75, 0, head_width=0.05, head_length=0.03, linewidth=4, color="r", length_includes_head=True)

# green arrow
plt.arrow(0.85, 0.5, -0.70, 0, head_width=0.05, head_length=0.03, linewidth=4, color="g", length_includes_head=True)

plt.show()

Y el resultado es así:

Flecha de dos cabezas

Puede ver que la flecha roja se traza primero y luego la verde. Cuando proporcionas las coordenadas correctas, parece una doble cabeza.

Puedes usar matplotlib.patches.FancyArrowPatch para dibujar una flecha de dos puntas. Esta clase permite especificar arrowstyle:

import matplotlib.patches as patches

p1 = patches.FancyArrowPatch((0, 0), (1, 1), arrowstyle="<->", mutation_scale=20)
p2 = patches.FancyArrowPatch((1, 0), (0, 1), arrowstyle="<|-|>", mutation_scale=20)

Esto produce las siguientes flechas:

Flechas

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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