How can I change quiver width (MaxHeadSize don't work for width)?
Show older comments
The code bellow
clearvars;
x = linspace(0,100,5);
y = x/100;
[x,y] = meshgrid(x,y);
u = x;
v = 0*x;
quiver(x,y,u,v);
generates the figure

I would like to reduce the arrow width and enlarge arrow length. This happens every time that the scale of x and y are different.
I already tried MaxHeadSize propriety, but it did not work as I would like.
Thank's in advance.
Accepted Answer
More Answers (1)
Cris LaPierre
on 8 Jan 2020
Edited: Cris LaPierre
on 8 Jan 2020
maxHeadSize worked for me. Perhaps try setting it this way?
q=quiver(x,y,u,v);
q.MaxHeadSize = 0.01;
"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 quiver object, opening the Property Editor, and adjusting the Length slider."
2 Comments
Angelo Hafner
on 9 Jan 2020
Edited: Angelo Hafner
on 9 Jan 2020
Cris LaPierre
on 9 Jan 2020
Categories
Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!