Borrar filtros
Borrar filtros

How do I create a legend and include loop variable values in the labels while plotting a Matrix ?

6 visualizaciones (últimos 30 días)
u = 1:2:10;
z_x = 1:10;
temp = [1:10;11:20;21:30;31:40;41:50];
figure,
hold on
for l= 1:length(u)
str = ['S = ',num2str(u(l))];
plot(temp,z_x,'DisplayName',str);
end
legend show
The above code displays one value of S multiple times. Since i'm plotting a matrix and want to produce a legend for each uniques curve only one. What correction should I make so that the each S value is displayed only once in the legend.
  4 comentarios
AKRITI KOTHIALA
AKRITI KOTHIALA el 19 de Jun. de 2020
Editada: AKRITI KOTHIALA el 19 de Jun. de 2020
Thanks for your response. This code produces k =1 multiple times then k=2 another multiple times and so on...in the legend. I want it to give k=1,k=2...,one time only, corresponding to each curve.
AKRITI KOTHIALA
AKRITI KOTHIALA el 19 de Jun. de 2020
Editada: AKRITI KOTHIALA el 19 de Jun. de 2020
u = 1:2:10;
z_x = 1:10;
temp = [1:10;11:20;21:30;31:40;41:50];
figure,
hold on
for l= 1:length(u)
str = ['S = ',num2str(u(l))];
plot(temp,z_x,'DisplayName',str);
end
legend show
I agree the above code is very messy. Pehaps this code will explain my problem more clearly.

Iniciar sesión para comentar.

Respuesta aceptada

madhan ravi
madhan ravi el 19 de Jun. de 2020
m = rand(10,8);
plot(m)
legend(compose('s = %d', 1 : size(m,2)))

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by