Help with plotting multiple line complete with legends.

Illustration
shivraghav - 2020-08-31T11:01:28+00:00
Question: Help with plotting multiple line complete with legends.

, This question has a few parts so bare with me if it seems confused, I'll try my best to be clear. My problem is this, I want to plot 11 lines in different colours on the same graph complete with legends. As you all know I should be able plot with the command -- plot(x,y,'blue',x,z'red......). I run out of colours with specific names and therefore have to define them with [rand1,rand2,rand3]. To use a color like this I have to use 'color' before using the 1:3 color matrix with the plot command. So now I have - plot(x,y,blue,.....x,n,'color',[rand1,rand2,rand3]) This turns all the lines the same colour as [rand1,rand2,rand3] ! In addition to this I don't really like having to write one massive plot command, I would prefer to do it in a for loop, In this loop I would like to be able to add legends as I go. But only one legend is ever added! So if anyone has a solution to my problem (Maybe making some sort of color map if there isn't anything simpler..) I would be very much in your debt.

Expert Answer

Profile picture of John Williams John Williams answered . 2025-11-20

x = 1 : 50;
y = rand(11,50); % 11 traces, 50 samples long
h = zeros(11,1); % initialize handles for 11 plots
figure;
h(1)=plot(x,y(1,:),'color',[rand(1),rand(1),rand(1)]); hold on;
for ii = 2 : 11
  h(ii)=plot(x,y(ii,:),'color',[rand(1),rand(1),rand(1)]);
end
hold off;
legend(h,'plot1','plot2','plot3','plot4','plot5','plot6','plot7',...
       'plot8','plot9','plot10','plot11');


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!