Make legend for lines

72 Ansichten (letzte 30 Tage)
MINA
MINA am 22 Mai 2016
Kommentiert: MINA am 23 Mai 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 Kommentare
dpb
dpb am 23 Mai 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 am 23 Mai 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')

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 23 Mai 2016
linehandles = [p1, p2, p3, ...];
cols = cell2mat(get(linehandles, 'color'));
[~, uidx] = unique(cols, 'rows', 'stable');
legend(linehandles(uidx), {'first class', 'second class'})
  1 Kommentar
MINA
MINA am 23 Mai 2016
Thanks. It worked.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by