필터 지우기
필터 지우기

Quiver. Make wind scale of 1m/s inside plot

조회 수: 7 (최근 30일)
Luis Jesús Olvera Lazcano
Luis Jesús Olvera Lazcano 2023년 9월 21일
댓글: Luis Jesús Olvera Lazcano 2023년 9월 23일
I have had a really tough time thinking of a way to show a scale of the wind vectors that Im plotting.
Im using quiversc(lon,lat,u,v) but I dont know how to put a magnitude of reference (1 m/s for example) , as in the plot below.
Thanks!

채택된 답변

Chunru
Chunru 2023년 9월 21일
편집: Chunru 2023년 9월 21일
[x, y] = meshgrid(-2:.2:2);
z = x.*exp(-x.^2-y.^2);
[dx, dy] = gradient(z, 0.2);
sc = 'off'; % scale
quiver(x,y,dx,dy, sc);
axis tight;
hold on
a = axis;
% posision of the ref arrow
xr = a(1)+0.1*(a(2)-a(1));
yr = a(4)-0.1*(a(4)-a(3));
quiver(xr, yr, 1, 0, sc) % unit lenght
  댓글 수: 6
Luis Jesús Olvera Lazcano
Luis Jesús Olvera Lazcano 2023년 9월 22일
Hi thank you very much! Thanks to your code I manage to do some arrangements, even put the reference arrow to fit more in the plot.
However I have some doubts about it. My code is this one (I use quiversc instead of quiver to control the density of the arrows, but the scaling is the same, I corroborated that):
quiversc(LON,LAT,u*2.5,v*2.5,'off','k','density',60,'LineWidth',1) % off is for scaling
colormap(brewermap(10,'PuBuGn'))
caxis([0 5])
borders('countries','k','LineWidth',1)
borders('countries','k','LineWidth',1)
axis equal
ylim([-30 36])
xlim([30 178])
yticks(-30:30:30)
yticklabels({'30°S','EQ','30°N'})
xticks(40:40:160)
xticklabels({'40°E','80°E','120°E','160°E'})
hold on
a = axis;
xr = a(1)+0.1*(a(2)-a(1));
yr = a(4)-0.1*(a(4)-a(3));
hold on
b = rectangle('Position',[xr-15 yr-6 15 12],'FaceColor','white');
hold on
quiver(xr-13,yr,1*12.5,0,'k','LineWidth',1,'MaxHeadSize',2.5)
The resulting plot is:
So my question is this: I put the manual_sc = 2.5 for the u,v values. Then, to show the reference arrow, I multiply it per 12.5. I understand that, if the whole quiver plot is adjusted with 2.5 and the reference arrow is adjusted with 12.5, then the reference arrow has a magnitude of 4 m/s? I thought about it cause its 4 times bigger than the main quiver plot vectors.
Luis Jesús Olvera Lazcano
Luis Jesús Olvera Lazcano 2023년 9월 23일
Hey I managed to realize that my question is resolved! I saw the measure of the reference arrow and its indeed the quantity I determined. Thank you so much for your answer, you helped me a lot to improve my plots and to give them a better style
I let my code available for the future if someone has a similar problem

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Vector Fields에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by