Quiver scale variables differently?
8 次查看(过去 30 天)
显示 更早的评论
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 个评论
Oleg Komarov
2011-5-23
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
回答(3 个)
Sean de Wolski
2011-5-23
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 个评论
Tim Whiteley
2017-11-13
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 个评论
Francois Clemens
2019-4-19
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
Francois Clemens
2019-4-21
Forget it, I mixed up the order of the variables, the issue raised by JEX Psicom remains....
abuzer
2013-4-2
you should cahnge the scale parameter.
scale=1; axis equal; hold on plot(x,y,'o'); h=quiver(x, y, v, u, scale);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Vector Fields 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!