Enlarge Arrows in Axis3Dquiver Matplotlib Graphics

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): Quiver plot

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 . .

+4
1

MPL, . .

Hack: MPL , . .

: ax.quiver length. , .

+4

All Articles