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!