Filter löschen
Filter löschen

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

6 Ansichten (letzte 30 Tage)
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 Kommentare
AKRITI KOTHIALA
AKRITI KOTHIALA am 19 Jun. 2020
Bearbeitet: AKRITI KOTHIALA am 19 Jun. 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 am 19 Jun. 2020
Bearbeitet: AKRITI KOTHIALA am 19 Jun. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by