name several curves within a loop

5 views (last 30 days)
Nitin
Nitin on 4 Sep 2012
Commented: surendra bhatta on 15 Mar 2019
Hello,
I am plotting about 80 curves on the same plot.
In order to differentiate between each curve, i would like to name each curve on the plot within the for loop shown below:
for k = 1:80
[a,b]=test(a1,b1);
labels = cellstr(num2str([k]')); % not sure about this one*bold*
h=plot_curves(a, b, 'r',5);
hold on
end
Thanks,
Ash

Accepted Answer

Matt Fig
Matt Fig on 4 Sep 2012
Edited: Matt Fig on 4 Sep 2012
You could put a text on each curve. But placing the text could be tricky with that many curves on one plot.
x = 0:.01:1;
L = floor(length(x)/2);
hold all
for ii = 1:4
plot(x,x.^ii)
text(x(L),x(L).^ii,sprintf('%i',ii))
end
  1 Comment
surendra bhatta
surendra bhatta on 15 Mar 2019
my entire curve is filling with the text. what might be the solution

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 4 Sep 2012
labels{k} = num2str(k);
Then at the end of the loop,
legend(labels)
This assumes that plot_curves is constructing exactly one line object per loop iteration.

Categories

Find more on Fit Postprocessing in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!