我有一个线图,我想用箭头而不是线条绘制.也就是说,连续点对之间的线应该是从第一点到第二点的箭头.
我知道这个arrow功能,但这似乎只做单独的箭头.在我尝试使用它来完成整个情节之前,有没有更好的方法呢?
我想知道我是否有三角形标记,是否可以控制其方向?我有一系列的facets及其相应的顶点,我想绘制它们的底图.我知道使用Mayavi和tvtk.PolyData时它是直接的脚本.但是因为我正在处理地图而不是3D对象,所以事情变得有点复杂.
ps:对于地图我正在使用底图工具.
我感谢你的帮助.
在下面的代码中,我找到了微分方程组的解。我已经在这段代码中绘制了相空间轨迹,它工作正常。然而,我想重复情节,但用箭头来帮助我清楚地展示情节的含义。我看到有人问过一个类似的问题: 在 matplotlib 中用箭头绘制相空间轨迹, 因此在下面的代码中,我试图根据我的情况复制它。(我会在那个帖子上发布这个问题,但它不允许我这样做)
当我运行代码时,我得到的图像如下:
显然我在某些时候误解了 quiver 函数(因为图应该看起来一样(只有第二个应该有箭头)这显然不是这种情况,我也看到改变我的 linspace 中的点数会改变第二个情节严重)。
我的代码如下:
# Import the required modules
import numpy as np
from run_kut4 import *
from printSoln import *
import pylab
def G2(x,y):
G2=np.zeros(2)
G2[0]=y[1]
G2[1]=-np.sin(y[0])+0.02*np.cos(y[0])*np.sin(x)
return G2
x2=0.0
xstop2=40.0
y2=np.array([0.0,0.0])
h2=0.005#step size
#freq=1
X2,Y2=integrate(G2,x2,y2,xstop2,h2)
pylab.plot(Y2[:,0],Y2[:,1])
pylab.xlabel('?')
pylab.ylabel('d?/dx')
pylab.title('Phase space trajectory (resonant case)')
pylab.show()
y1=np.linspace(-0.4,0.4,100)
y2=np.linspace(-0.4,0.4,100)
U,V=np.meshgrid(y1,y2)
pylab.quiver(U,V,Y2[:,0],Y2[:,1])
pylab.xlabel('?')
pylab.ylabel('d?/dx')
pylab.title('Phase space trajectory (resonant case)')
pylab.show()
Run Code Online (Sandbox Code Playgroud)
我只是想知道是否有人能看到我哪里出错了,任何帮助表示赞赏。谢谢 :)
使用的 Runge Kutta 代码:
## module run_kut4
''' …Run Code Online (Sandbox Code Playgroud)