Make legend for lines

72 views (last 30 days)
MINA
MINA on 22 May 2016
Commented: MINA on 23 May 2016
Hello, My plot has two many lines but with only two different colors. When I want to add the legend I just want to write the legend for those two colors, but in the legend it shows me the same color. Can anyone please tell me how I can skip the lines with the same color?
Here is my code
p1=line([t1 t1]',[0 1],'color','red');
hold on
p2=line([t2 t2]',[0 1],'color','green');
legend([p1 p2],'T1','T2')
  2 Comments
dpb
dpb on 23 May 2016
If I give a value for t1, t2 and execute the above I get two colors for the legend.
Need something complete that causes the symptom we can run to try to duplicate the symptoms...
MINA
MINA on 23 May 2016
t1=[1 2 3 4 5]'; t2=[3.5 6]'; p1=line([t1 t1]',[0 1],'color','red'); hold on p2=line([t2 t2]',[0 1],'color','green'); legend([p1 ;p2],'T1','T2')

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 23 May 2016
linehandles = [p1, p2, p3, ...];
cols = cell2mat(get(linehandles, 'color'));
[~, uidx] = unique(cols, 'rows', 'stable');
legend(linehandles(uidx), {'first class', 'second class'})

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!