Legend in for loop of unknown number

13 visualizaciones (últimos 30 días)
bahar
bahar el 3 de Jun. de 2014
Editada: bahar el 3 de Jun. de 2014
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?

Respuestas (2)

Roger Wohlwend
Roger Wohlwend el 3 de Jun. de 2014
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 comentario
bahar
bahar el 3 de Jun. de 2014
i changed my program. could you please take a lool at it...

Iniciar sesión para comentar.


bahar
bahar el 3 de Jun. de 2014
Editada: bahar el 3 de Jun. de 2014
this is my plot... i have two curves with two color, red and blue but in legend just show red one.

Categorías

Más información sobre Legend en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by