Why doesn't the quiver object property MaxHeadSize work?
    20 views (last 30 days)
  
       Show older comments
    
Changing the quiver object property MaxHeadSize has no effect on the displayed quiver object.
1 Comment
  Hannah Nissan
 on 4 Jul 2016
				
      Edited: Walter Roberson
      
      
 on 4 Jul 2016
  
			I still find this problem, using 2016a. I am able to change the arrow head size using the test code:
q = quiver(1:10,1:10);
%Observe the figure after doing each of these
q.MaxHeadSize = 0.1;
q.MaxHeadSize = 0.01;
q.MaxHeadSize = 0.5;
but can't get it any larger than 0.5. For my data, this makes it impossible to see which direction the arrow is pointing...
Any suggestions?
Answers (3)
  Dasharath Gulvady
    
 on 12 May 2015
        Which MATLAB release are you using? This might be helpful:
2 Comments
  Dasharath Gulvady
    
 on 15 May 2015
				
      Edited: Dasharath Gulvady
    
 on 15 May 2015
  
			Can you share a sample code with which you can see the issue? Which operating system are you on?
  Abhiram Bhanuprakash
    
 on 13 May 2015
        Hi Kevin,
I tried the following in MATLAB R2015a and it worked:
q = quiver(1:10,1:10);
%Observe the figure after doing each of these
q.MaxHeadSize = 0.1;
q.MaxHeadSize = 0.01;
q.MaxHeadSize = 0.5;
If you find that this example works and you are facing issues with the particular figure which you have, can you please share your code (and data) so that I can reproduce the issue at my end?
Hope this helps,
Abhiram.
  Julian Hapke
      
 on 7 Apr 2016
        Here's my findings... Testcode:
function tst
close all
    figure(3)
    clf;
    hold on
    for ii = 1:15
        quiver(ii/2, 0, 0, 1, 0, 'MaxHeadSize', ii/10);
    end
    for ii = 1:15
        quiver(ii/2+0.125, 0, 0, 2, 0, 'MaxHeadSize', ii/10);
    end
    for ii = 1:15
        quiver(ii/2+0.25, 0, 0, 3, 0, 'MaxHeadSize', ii/10);
    end
    figure(4)
    clf;
    hold on
    for ii = 1:15
        p = quiver(ii/2, 0, 0, 1, 0);
        set(p,'MaxHeadSize', ii/10);
    end
    for ii = 1:15
        p = quiver(ii/2+0.25, 0, 0, 2, 0);
        set(p,'MaxHeadSize', ii/10);
    end
    figure(5)
    [x,y] = meshgrid(0:0.2:2,0:0.2:2);
    u = cos(x).*y;
    v = sin(x).*y;
    subplot(1,3,1)
    quiver(x,y,u,v);
    subplot(1,3,2)
    quiver(x,y,u,v,'MaxHeadSize', 0.8);
    subplot(1,3,3)
    quiver(x,y,u,v,'MaxHeadSize', 5);
end
Prior to 2015a, the MaxHeadSize = 1 leads to wrong results if the length of the arrow is not 1, this is fixed with 2015a.
MaxHeadSize > 1.1 does not seem to have any effect (with the chosen data)
The MaxHeadSize Property does not have any effect on the example code taken from here
0 Comments
See Also
Categories
				Find more on Vector Fields 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!



