我正在尝试为某个动力学系统绘制相空间图。实际上,我有一个二维平面,其中有一个起始点,接着是下一个点,以此类推。我想用线连接这些点,并在其上方绘制一些箭头,以便能够看到方向(从起始点到下一个点等)。我决定使用线型
我的代码如下:
下图是得到的绘图结果: 可以看出,箭头没有正确对齐连接点之间的线条。此外,许多箭头是“向外”的,我希望它们是“向内”的,因为下一个点总是在中心闭环附近。此外,该绘图看起来太杂乱了,我想绘制更少的箭头,以使绘图更好看。有人知道如何做吗?谢谢。
'->'
来实现这一点,但效果不佳,箭头经常指向错误的方向。而且它们非常紧密,因此我无法看到单独的线条。我的代码如下:
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()
下图是得到的绘图结果: 可以看出,箭头没有正确对齐连接点之间的线条。此外,许多箭头是“向外”的,我希望它们是“向内”的,因为下一个点总是在中心闭环附近。此外,该绘图看起来太杂乱了,我想绘制更少的箭头,以使绘图更好看。有人知道如何做吗?谢谢。
plot(x,y,marker='o',markevery=5)
来标记每个第五个数据点。不过要使它们指向正确的方向则更加困难。 - Tony Babarino'->'
不是箭头。它由两部分组成,'-'
表示实线,'>'
表示向右的三角形。如果你仔细看,所有你的“箭头”都只是指向右边的三角形。 - wflynnyplt.streamplot
- wflynny