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

12 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!