quiver - Quiver or velocity
plot
GUI Alternatives
To graph selected variables, use the Plot Selector in the Workspace Browser, or use the Figure
Palette Plot Catalog. Manipulate graphs in plot edit mode with the Property Editor.
For details, see Plotting Tools — Interactive Plotting in the MATLAB Graphics
documentation and Creating Graphics from the Workspace Browser in the MATLAB
Desktop Tools documentation.
Syntax
quiver(x,y,u,v)
quiver(u,v)
quiver(...,scale)
quiver(...,LineSpec)
quiver(...,LineSpec,'filled')
quiver(axes_handle,...)
h = quiver(...)
hlines = quiver('v6',...)
Description
A quiver plot displays velocity vectors as arrows with
components (u,v) at the points (x,y).
For example, the first vector is defined by components
u(1),v(1) and is displayed at the point
x(1),y(1).
quiver(x,y,u,v) plots vectors
as arrows at the coordinates specified in each corresponding pair
of elements in x and y. The matrices x,
y, u, and v must all be the same size
and contain corresponding position and velocity components.
However, x and y can also be vectors, as
explained in the next section. By default, the arrows are scaled to
just not overlap, but you can scale them to be longer or shorter if
you want.
Expanding x- and y-Coordinates
MATLAB expands x and y if they are not
matrices. This expansion is equivalent to calling meshgrid to generate matrices from vectors:
[x,y] = meshgrid(x,y);
quiver(x,y,u,v)
In this case, the following must be true:
length(x) = n and length(y)
= m, where [m,n] =
size(u) = size(v).
The vector x corresponds to the columns of u
and v, and vector y corresponds to the rows of
u and v.
quiver(u,v) draws vectors
specified by u and v at equally spaced points in
the x-y plane.
quiver(...,scale)
automatically scales the arrows to fit within the grid and then
stretches them by the factor scale. scale
= 2 doubles their relative length, and
scale = 0.5 halves the length. Use
scale = 0 to plot the velocity vectors without automatic
scaling. You can also tune the length of arrows after they have
been drawn by choosing the Plot Edit tool, selecting the quivergroup
object, opening the Property Editor, and adjusting the
Length slider.
quiver(...,LineSpec) specifies
line style, marker symbol, and color using any valid
LineSpec. quiver draws the markers at the origin
of the vectors.
quiver(...,LineSpec,'filled')
fills markers specified by LineSpec.
quiver(axes_handle,...) plots
into the axes with the handle axes_handle instead of into
the current axes (gca).
h = quiver(...) returns the
handle to the quivergroup object.
Backward-Compatible Version
hlines = quiver('v6',...)
returns the handles of line objects instead of quivergroup objects
for compatibility with MATLAB 6.5 and earlier.
Note The v6
option enables users of Version 7.x of MATLAB to create FIG-files
that previous versions can open. It is obsolete and will be removed
in a future version of MATLAB.
Examples
Showing the Gradient with Quiver Plots
Plot the gradient field of the function :
[X,Y] = meshgrid(-2:.2:2);
Z = X.*exp(-X.^2 - Y.^2);
[DX,DY] = gradient(Z,.2,.2);
contour(X,Y,Z)
hold on
quiver(X,Y,DX,DY)
colormap hsv
hold off
See Also
Quivergroup Properties for property descriptions