Azzera filtri
Azzera filtri

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

6 visualizzazioni (ultimi 30 giorni)
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 Commenti
AKRITI KOTHIALA
AKRITI KOTHIALA il 19 Giu 2020
Modificato: AKRITI KOTHIALA il 19 Giu 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 il 19 Giu 2020
Modificato: AKRITI KOTHIALA il 19 Giu 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.

Accedi per commentare.

Risposta accettata

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

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by