Quiver scale variables differently?

8 views (last 30 days)
JEC PsiCom
JEC PsiCom on 23 May 2011
Commented: Francois Clemens on 21 Apr 2019
Hello. I have this problem.
I have two different types of flux/velocity variables (in u and v) that I want to compare using a quiver plot. The problem is that one of the variables is scaled a LOT bigger than the other variable, no matter the actual physical values it has. For examplem, if I force it smaller by multiplying by 0.001 or something, it STILL shows these huge arrows. That is, variable 2 has longer quiver arrows than variable 1 even though the values it has is smaller.
ps; I've tried to set 'autoscaling','off', but it doesn't help.
What's going on? :/
  1 Comment
Oleg Komarov
Oleg Komarov on 23 May 2011
Post code and input examples: http://www.mathworks.com/matlabcentral/answers/6200-tutorial-how-to-ask-a-question-on-answers-and-get-a-fast-answer
and format the code: http://www.mathworks.com/matlabcentral/answers/7885-tutorial-how-to-format-your-question

Sign in to comment.

Answers (3)

Sean de Wolski
Sean de Wolski on 23 May 2011

Two ideas:

  • Use the scale input to quiver
doc quiver
  • Normalize the arrows to be the exact same range:
u2 = u2./(max(u2(:))).*max(u1(:));

Tim Whiteley
Tim Whiteley on 13 Nov 2017
Hello. I am having the same problem as JEC PsiCom. Here is an example of some toy code where x and y are different scales. When plotted, the y scale of the arrowheads is hugely disproportional (the vertical lines being the arrowheads). Any help would be much appreciated.
x=-10:10;
y=0.00001:0.00001:0.00010;
[X,Y]=meshgrid(x,y);
quiver(x,y,X,Y);
  2 Comments
Francois Clemens
Francois Clemens on 19 Apr 2019
Hi I have something similar, although in my case he variabale on th y-axis is scaled:
when I give the command:
quiver(r,dr,vradiaal,dvrad);
I get the graph with the blue arrows:
WhenI I plot using the command:
p1=[r,r+dr];
p2=[vradiaal,vradiaal+dvrad];
plot(p1,p2,'-k');
I get the graph in black, Tthe numerical values correspond with the graph in black so clearly the y axis is scaled down by quiver by a factor of approx 100. Anybody an idea????
thanks in advance
Francois Clemens
P.S. I'm using Matlab R 2017b
plot_exp.jpg
quiver_exp.jpg
Francois Clemens
Francois Clemens on 21 Apr 2019
Forget it, I mixed up the order of the variables, the issue raised by JEX Psicom remains....

Sign in to comment.


abuzer
abuzer on 2 Apr 2013
you should cahnge the scale parameter.
scale=1; axis equal; hold on plot(x,y,'o'); h=quiver(x, y, v, u, scale);

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!