Overlapping quiver plot at same scale

I'm overlaying two quiver plots using the following code, but the scale between the two is not identical I plotted the data as one quiver plot (all in black, code not shown) and then split it into positive and negative values (plot contains red), at which point the red arrows scaled up. How can I force these to maintain the same scale? Basically my end goal is to colour all negative values red on the plot.
figure;
h1=quiver(xt,yt,quiverXt,-1*quiverYt,2,'filled','k');
hold on
h2=quiver(xc,yc,quiverXc,-1*quiverYc,2,'filled','r');
hold off

답변 (1개)

Jessica Hiscocks
Jessica Hiscocks 2017년 4월 3일

3 개 추천

solved it based on another answer previously posted. The key is basically you have to set scale to zero and then scale both quivers after plotting.
figure;
h1=quiver(xt,yt,quiverXt,-1*quiverYt,0,'filled','k');
hold on
h2=quiver(xc,yc,quiverXc,-1*quiverYc,0,'filled','r');
hold off
scale=5;
hU1 = get(h1,'UData');
hV1 = get(h1,'VData');
set(h1,'UData',scale*hU1,'VData',scale*hV1)
hU2 = get(h2,'UData');
hV2 = get(h2,'VData');
set(h2,'UData',scale*hU2,'VData',scale*hV2)

카테고리

도움말 센터File Exchange에서 Vector Fields에 대해 자세히 알아보기

태그

질문:

2017년 4월 3일

답변:

2017년 4월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by