Locking figure axis for quiver loop
1 view (last 30 days)
Show older comments
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 Comments
Adam
on 19 Aug 2019
axis tight
in the loop is what caused the original behaviour, by fitting tightly around each new set of quivers
Answers (0)
See Also
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!