Legend in for loop of unknown number

Hi,
I have a problem.
I want to plot a figure in for-loop of unknown number of values.
*********************************
%%%%plot
cc=hsv(nk12*nk21);
jj=1;
for kp=1:nk21
for jp=1:nk12
loglog(p,intensity1(:,jp,kp),p,intensity2(:,jp,kp),'color',cc(jj,:))
ylabel('f^es');
xlabel('t');
title('Graph of intensity for modes 1 and 2')
set(gca, 'XScale', 'log', 'YScale', 'log')
jj=jj+1;
hold all
[~,~,~,names] = legend;
legend([names {sprintf('%s%g','k12,k21=',jp,',',kp)}]);
end
end
*******************************************
How can I arrange this so it plots a legend for each dataset?

Antworten (2)

Roger Wohlwend
Roger Wohlwend am 3 Jun. 2014

0 Stimmen

First: your code is unreadable if you do not format it as code!
Second: As some variables are missing I cannot run the code, so I cannot guarantee that my answer really works. Try the following:
h = NaN(nk21*nk12,1);
hold on;
for kp=1:nk21
for jp=1:nk12
h(jj) = loglog(p,intensity1(:,jp,kp),p,intensity2(:,jp,kp),'color',cc(jj,:)) ;
jj=jj+1;
end
end
legend(h, s,u,'Location','southeast')

1 Kommentar

bahar
bahar am 3 Jun. 2014
i changed my program. could you please take a lool at it...

Melden Sie sich an, um zu kommentieren.

bahar
bahar am 3 Jun. 2014
Bearbeitet: bahar am 3 Jun. 2014

0 Stimmen

this is my plot... i have two curves with two color, red and blue but in legend just show red one.

Gefragt:

am 3 Jun. 2014

Bearbeitet:

am 3 Jun. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by