Why is my subplot in for loop only plotting in one of the figures?

5 views (last 30 days)
Hi! I'm trying to figure out why my code isn't working? My code is only displaying the values in the second subplot, and I don't know why it does that?
level = 1:25;
streakvalue = [0 60 120 180 240 300 360 420 480];
for i = 1:length(streakvalue)
hold all
old = 110 + streakvalue(i) + level * 9.9;
subplot(1,2,1);plot(old,level);yticks(1:2:25);grid on
new = 100 + streakvalue(i) + level * 8;
subplot(1,2,2);plot(new,level);yticks(1:2:25);grid on
end

Accepted Answer

the cyclist
the cyclist on 13 Dec 2016
The behavior of the "hold" command is sometimes a little counterintuitive.
Try this
level = 1:25;
streakvalue = [0 60 120 180 240 300 360 420 480];
figure
for i = 1:length(streakvalue)
old = 110 + streakvalue(i) + level * 9.9;
subplot(1,2,1); hold all; plot(old,level); yticks(1:2:25);grid on
new = 100 + streakvalue(i) + level * 8;
subplot(1,2,2); hold all; plot(new,level); yticks(1:2:25);grid on
end

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!