Locking figure axis for quiver loop
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Adam
2019-8-19
axis tight
in the loop is what caused the original behaviour, by fitting tightly around each new set of quivers
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Vector Fields 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!