How to set 'ShowArrowHead' off in the legend of a quiver plot?
55 views (last 30 days)
Show older comments
In a quiver plot, there is a way to turn off arrow head by setting 'ShowArrowHead' off.
However the setting is not inherent by the associated legend. How to turn off arrow head for quiver plot legend?
0 Comments
Answers (1)
Shadaab Siddiqie
on 29 Jul 2021
From my understanding you want to turn off the arrowhead from the quiver plot. For that you can set 'Marker' property of quiver to 'none'. Here is an example to illustrate it:
[X,Y] = meshgrid(-pi:pi/8:pi,-pi:pi/8:pi);
U = sin(Y);
V = cos(X);
q = quiver(X,Y,U,V);
q.ShowArrowHead = 'off';
q.Marker = 'none';
3 Comments
Shadaab Siddiqie
on 3 Aug 2021
Oh you are not able to add legends on a quiver plot. There is no direct way to do so in the form of a legend. But as a workaround you can add an extra point to the data and then add a text label to the data to show as legend.
Here is an example which might help you:
% From the example, define initial quiver points
[x,y] = meshgrid(0:0.2:2,0:0.2:2);
u = cos(x).*y;
v = sin(x).*y;
% Add an additional row of points at y=2.4
[X,Y] = meshgrid(0:0.2:2, 2.4);
% Define a reference arrow velocity 1 at x=0.2 and y=2.4
u_rf=zeros(1, length(X));
v_rf=zeros(1, length(X));
u_rf(1,2)=1;
% Draw quiver plot including the new row
figure;
quiver([X;x],[Y;y],[u_rf;u],[v_rf;v]);
% Add text label to plot
text(0.05,2.5,'Arrow scale: 1m/s')
% Add bounding box if needed
rectangle('Position', [0.025, 2.3, 0.55, 0.3])
See Also
Categories
Find more on Vector Fields 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!