How do i fix the Colorbar scale when i run an animation?

1 view (last 30 days)
this is the part of code for plotting. does the colorbar could be set up outside my 'for' loop?
for i8 = 1:1000:length(t);
delete(findobj('tag','Update'));
grid on
axis([0,2*b,0,2.2,min(min(dy))-0.1,max(max(dy))*1.2]);
hold on
surf([0.3,0.2+b],[dx,dx],[dy(:,i8),dy(:,i8)],'tag','Update','LineWidth',2);
if abs(max(dy(:,i8))-max(max(dy)))<=0.001;
caxis = [0,max(max(dy))];
hold on
c = colorbar;
c.Label.String = 'Displacement(inch)';
end
pause(0.0000001)
end

Answers (1)

Walter Roberson
Walter Roberson on 5 Apr 2016
Before the hold on,
caxis([0,max(y(:))])
Note by the way that you are setting the limit by the maximum of y, not by the maximum that you will plot, as you only plot one in 1000
  1 Comment
xinyu cui
xinyu cui on 5 Apr 2016
thx for reply. i test your method by re-set caxis by:
caxis([0,1000]);
However, it seems like the colorbar still change all the time when the displacement change in my animation.

Sign in to comment.

Categories

Find more on Animation 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!