Overlapping quiver plot at same scale

50 views (last 30 days)
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

Answers (1)

Jessica Hiscocks
Jessica Hiscocks on 3 Apr 2017
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)

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!