我试图围绕quiver
函数来绘制矢量字段。这是一个测试用例:
import numpy as np
import matplotlib.pyplot as plt
X, Y = np.mgrid[1:1.5:0.5, 1:1.5:0.5]
print(X)
print(Y)
u = np.ones_like(X)
v = np.zeros_like(Y)
plt.quiver(X,Y, u, v)
plt.axis([0, 3, 0, 3], units='xy', scale=1.)
plt.show()
我正在尝试获取长度为1的向量,从(1,0)
指向(2,0)
,但这是我得到的:
我尝试添加scale='xy'
选项,但行为没有改变。那么这是如何工作的?
答案 0 :(得分:0)
第一个有趣的错误是你将quiver
个参数放到axis
调用中。 ; - )
接下来,查看the documentation,它说
如果
scale_units
为'x',则向量将为0.5 x轴单位。要在x-y平面中绘制矢量,u和v具有与x和y相同的单位,请使用angles='xy', scale_units='xy', scale=1.
让我们按照文档告诉我们的那样做,
import numpy as np
import matplotlib.pyplot as plt
X, Y = np.mgrid[1:1.5:0.5, 1:1.5:0.5]
u = np.ones_like(X)
v = np.zeros_like(Y)
plt.quiver(X,Y, u, v, units='xy', angles='xy', scale_units='xy', scale=1.)
plt.axis([0, 3, 0, 3])
plt.show()
确实我们得到一个单位长的箭头: