Display axis values Line Legends???

Hello every one, when I plot a matrix e.g x= [ 8 36 36; 8 15 15; 8 25 25; 8 3 3], I would like to display the end value of each row for as a legend for each line on the plot.
I tried with 'num2str(x(1,end)),......' comand which works but off course for larger matrices it would b a headache, Is there any possible short command for the whole Action
Best Regards Ali

 Accepted Answer

Jan
Jan on 9 Sep 2013
Edited: Jan on 9 Sep 2013
You can use a loop:
[m,n] = size(x);
legendText = cell(1, m);
for k = 1:m
legendText{k} = num2str(x(k, n));
end
[EDITED after comment]
x = rand(10, 5);
h = plot(x);
... Instert code from above here
legend(h, legendText);
See doc legend for more details and examples. Reading the documentation is very useful in Matlab, because this is (still, even with the new layout) the most productive documentation I've seen (except for the one of my hammer).

3 Comments

Good that it works to collect the required numbers but how can I put them as legends into a Plot..
See [EDITED]
Perfect (y), it works all accordingly...

Sign in to comment.

More Answers (0)

Asked:

on 9 Sep 2013

Community Treasure Hunt

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

Start Hunting!