Matplotlib箭头绘制恒定箭头大小

时间:2017-06-27 12:59:21

标签: python matplotlib vector field

我正在尝试绘制一个简单的箭袋图(例如在matplotlib图库中:http://matplotlib.org/examples/pylab_examples/quiver_demo.html),尽管我不想启用自动缩放功能。

我只想显示场方向,而不是幅度。

有没有办法将箭头大小设置为常数?我尝试使用比例和比例单位,但这似乎只是通过一些共同因素来改变所有箭头。

由于

1 个答案:

答案 0 :(得分:1)

改变比例不会对此有所帮助。您需要规范化向量,例如

X, Y = np.meshgrid(np.arange(0, 2 * np.pi, .2), np.arange(0, 2 * np.pi, .2))
U = np.cos(X)
V = np.sin(Y)

# Normalize the arrows:
U = U / np.sqrt(U**2 + V**2);
V = V / np.sqrt(U**2 + V**2);


plt.figure()
plt.title('Normalized arrows')
Q = plt.quiver(X, Y, U, V, units='width')
qk = plt.quiverkey(Q, 0.9, 0.9, 2, r'$2 \frac{m}{s}$', labelpos='E',
                   coordinates='figure')