How to use 'hold on' when plotting inside for loops

167 views (last 30 days)
I have two matrices Flow1(1:5) and RTL(i,:) or (i,5).
I want to plot Flow1 over RTL and I write the following.
for i=num_cat
plot(Flow1(1:5),RTL(i,:),'--go');
hold on
end
hold off
I saw a previous post here that said that this is the way to get all 7 lines in one plot when i = 7 let's say. However, with my code, I only get the last plot line and not all the others. What do I do wrong and how can I get all plots in one figure? Thanks!

Accepted Answer

KSSV
KSSV on 15 May 2017
Edited: KSSV on 15 May 2017
Flow1 = rand(1,5) ;
RTL = rand(7,5) ;
num_cat = 7 ;
for i=1:num_cat
plot(Flow1(1:5),RTL(i,:),'--go');
hold on
end
hold off
you have use i = num_cat, so you were getting only one plot. It should be i = 1:num_cat
  2 Comments
KSSV
KSSV on 15 May 2017
It is in green because you have mentioned the color green and fixed the markers too. You may check this:
Flow1 = rand(1,5) ;
RTL = rand(5,5) ;
num_cat = 5 ;
for i=1:num_cat
plot(Flow1(1:5),RTL(i,:));
hold on
end
hold off
legend({'i=1' ; 'i =2' ; 'i =3' ; 'i =4' ; 'i = 5'});

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!