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

6 次查看(过去 30 天)
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 个评论
AKRITI KOTHIALA
AKRITI KOTHIALA 2020-6-19
编辑:AKRITI KOTHIALA 2020-6-19
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 2020-6-19
编辑:AKRITI KOTHIALA 2020-6-19
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.

请先登录,再进行评论。

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Legend 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by