Locking figure axis for quiver loop
    5 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
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 commentaires
  Alexandr Lozak
 le 19 Août 2019
				
      Modifié(e) : Alexandr Lozak
 le 19 Août 2019
  
			
		
  Adam
      
      
 le 19 Août 2019
				axis tight
in the loop is what caused the original behaviour, by fitting tightly around each new set of quivers
Réponses (0)
Voir également
Catégories
				En savoir plus sur Audio and Video Data dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

