Dibujar trayectorias espaciales de fase con flechas en matplotlib
Estoy tratando de dibujar el diagrama de espacio de fase para un cierto sistema dinámico. En efecto, tengo un plano 2d en el que hay un punto de partida seguido del siguiente punto y así sucesivamente. Quiero conectar estos puntos con líneas y además quiero dibujar algunas flechas para poder ver la dirección (punto de partida al siguiente punto, etc.). Decidí usar linetype'->'
para lograr esto, pero no da ningún buen resultado y las flechas parecen apuntar en la dirección incorrecta muchas veces. También están bastante espaciados y, por lo tanto, no puedo ver las líneas individuales.
Mi código se da a continuación:
import numpy as np
import matplotlib.pylab as plt
from scipy.integrate import odeint
def system(vect, t):
x, y = vect
return [x - y - x * (x**2 + 5 * y**2), x + y - y * (x**2 + y**2)]
vect0 = [(-2 + 4*np.random.random(), -2 + 4*np.random.random()) for i in range(5)]
t = np.linspace(0, 100, 1000)
for v in vect0:
sol = odeint(system, v, t)
plt.plot(sol[:, 0], sol[:, 1], '->')
plt.show()
La gráfica resultante se muestra a continuación:
Como se puede ver, las flechas no están correctamente alineadas con las líneas que conectan los puntos. Además, muchas flechas están "saliendo" y quiero que "entren" porque el siguiente punto siempre se encuentra hacia el círculo cerrado en el medio. Además, la trama parece demasiado desordenada y me gustaría trazar menos flechas para que esa trama se vea mejor. ¿Alguien tiene alguna idea de cómo hacerlo? Gracias por adelantado.