quiver绘制表示梯度变化非常有用,下面是学习过程中给出的两个例子,可以很好理解quiver的用法
from pylab import *
close()
## example 1
x = linspace(0,10,40)
y = x**2*exp(-x)
u = array([x[i+1]-x[i] for i in range(len(x)-1)])
v = array([y[i+1]-y[i] for i in range(len(x)-1)])
x = x[:len(u)] # 使得维数和u,v一致
y = y[:len(v)]
c = randn(len(u)) # arrow颜色
figure()
quiver(x,y,u,v,c, angles='xy', scale_units='xy', scale=1) # 注意参数的赋值
## example 2
x = linspace(0,20,30)
y = sin(x)
u = array([x[i+1]-x[i] for i in range(len(x)-1)])
v = array([y[i+1]-y[i] for i in range(len(x)-1)])
x = x[:len(u)] # 使得维数和u,v一致
y = y[:len(v)]
c = randn(len(u)) # arrow颜色
figure()
quiver(x,y,u,v,c, angles='xy', scale_units='xy', scale=1) # 注意参数的赋值
show()
结果如下: