How to change matlab plot legend automatically

3 views (last 30 days)
Suppose I have a data emax = [1 2 3];
Now I have data X(length(emax), 1:10) and Y(length(emax), 1:10)
When I plot X and Y, I have 3 lines in this case.
My legend is legend('emax =1', 'emax=2', 'emax =3');
Suppose, for a new set of experimental data, I have,
emax =[10 20 30 40 50] and my X and Y data size is now(1:5,1:10). This time my plot will have 5 lines.
I have to manually change the legend to make it right.
Is there a way to create the correct legend automatically in such a situation?
  1 Comment
Mainak
Mainak on 13 Sep 2012
I found the answer(s) to my question in
'http://www.mathworks.com/matlabcentral/answers/12845'

Sign in to comment.

Accepted Answer

Jan
Jan on 13 Sep 2012
What does "automatically" exactly mean? You have to provide at least "emax = ", of course. So all you have to do "manually" is to insert the numbers from 1 to 5, correct?
S = sprintf('emax = %d*', 1:5);
C = regexp(S, '*', 'split');
legend(C{:})

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!