Is there any way to change the length of individual arrows on a quiver site?
I created a graph using:
lines_to_draw = list of numpy 3d vectors
xs, ys, zs = list of coordinates
us, vs, ws = list of displacements
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
for line in lines_to_draw:
ax.plot(line[:,0], line[:,1], line[:,2], color='green'
ax.quiver(xs, ys, zs, us, vs, ws)
It looks like this (axis disabled):

The problem is that all arrows look the same. The docs suggest that this is probably the case (in particular, the argument length):
Axes3D.quiver (* args, ** kwargs) Build a three-dimensional arrow field.
call signatures:
quiver (X, Y, Z, U, V, W, ** kwargs) Arguments:
X, Y, Z: x, y, and z coordinates of the arrows
U, V, W: direction vector that the arrow points to. Arguments can be massive or scalars if they can be broadcast together. Arguments can also be masked arrays. If an element in any of the arguments is masked, then the corresponding element of the quiver will not be plotted.
:
: [1.0 | float] , 1.0,
arrow_length_ratio: [0,3 | ] , 0,3 LineCollection
, 30 . .