Quiver scale variables differently?
5 views (last 30 days)
Show older comments
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
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
Answers (3)
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(:));
0 Comments
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);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/179351/image.jpeg)
2 Comments
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](https://www.mathworks.com/matlabcentral/answers/uploaded_files/214906/plot_exp.jpeg)
![quiver_exp.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/214907/quiver_exp.jpeg)
Francois Clemens
on 21 Apr 2019
Forget it, I mixed up the order of the variables, the issue raised by JEX Psicom remains....
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);
0 Comments
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!