How can I change quiver width (MaxHeadSize don't work for width)?

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

Unfortunately that's not what I expect from MATLAB.
I really hope these formatting options will be reviewed in future releases.
The answer was the best within MATLAB's capabilities.
Thank you!

More Answers (1)

maxHeadSize worked for me. Perhaps try setting it this way?
q=quiver(x,y,u,v);
q.MaxHeadSize = 0.01;
For length of the arrow, the following options are given in the documentation:
"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

I tried your suggestion (code bellow)
clearvars;
x = linspace(0,100,5);
y = x/100;
[x,y] = meshgrid(x,y);
u = x;
v = 0*x;
q=quiver(x,y,u,v);
q.MaxHeadSize = 0.01;
I got the figure. The arrows still very ugly :( .... Would you have any suggestions for improving the look of these arrows? Thank's in advance.
Unfortunately, quiver has very few formatting options (listed here).
It is possible to use annotation arrows instead, though of course it is more cumbersome. Their properties are visible here.

Sign in to comment.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!