Locking figure axis for quiver loop
Ältere Kommentare anzeigen
I have code for figure with superimposition of temperature image and quiver plot in loop.
But it image shifts every loop if side arrows exceed length of 1 pixel. How i can lock image or scale arrows?
[x,y]=meshgrid(1:1:31,1:1:38);
k=4997;
cnt=0;
heat_conductivity=28;
d=4;
for i=1:k
[dTdx,dTdy] = gradient(V(:,:,i));
u(:,:,i) = -heat_conductivity*dTdx;
v(:,:,i) = -heat_conductivity*dTdy;
end
f=figure('Renderer', 'painters', 'Position', [10 10 600 620]);
ax=gca;
ax.XLim = [1 38];
ax.YLim = [1 31];
%f.WindowState='maximized';
for i=1:k
%figure
imagesc(V(:,:,i));
axis tight
hold on
q=quiver(x,y,v(:,:,i),u(:,:,i))
%q.AutoScale='on';
q.AutoScaleFactor=0.9;
q.ShowArrowHead='on';
%q.MaxHeadSize= 1;
q.AlignVertexCenters='on';
q.LineWidth=0.5;
q.MaxHeadSize=1;
q.Color='black';
%axis tight
colormap jet
colorbar
caxis([26 35])
cnt=i;
title(cnt);
pause (0.1)
clf;
end


4 Kommentare
Adam
am 19 Aug. 2019
Setting the XLimMode and YLimMode of the axes to 'manual' should do it.
Alexandr Lozak
am 19 Aug. 2019
Alexandr Lozak
am 19 Aug. 2019
Bearbeitet: Alexandr Lozak
am 19 Aug. 2019
Adam
am 19 Aug. 2019
axis tight
in the loop is what caused the original behaviour, by fitting tightly around each new set of quivers
Antworten (0)
Kategorien
Mehr zu Audio and Video Data finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!