# Legend repeating same color

152 views (last 30 days)
Yussif M. Awelisah on 11 Sep 2019
Commented: Chaman Dewangan on 19 Dec 2020
Please I am just plotting two data extracted from my work. but after plotting the code, the color of the legend keep repeating with the first color I input with indicating the legend of the next color. The attached data, Dposition and Uposition are the data plotted. please I hope anyone can help.
It's impossible to say much without you showing your code. The legend does what your code tells it to, but we don't know what that is. Also, note that the legend simply takes the colours from the plots that it is asked to include. You do have 2 blue plots on that graph so presumably it is showing those two, but again, we don't really know as we can't see any code.

Rik on 11 Sep 2019
Edited: Rik on 11 Sep 2019
Set the DisplayName property when calling plot, or use the output from plot to build your legend with specific handles.
x=linspace(0,10,50);
y1=5*cos(x)+rand(size(x));
y2=4*sin(x)+rand(size(x));
y1a=y1+0.5*rand(size(x));
y1b=y1-0.5*rand(size(x));
figure(1),clf(1)%only use clf during debugging
%example 1:
subplot(1,3,1)
plot(x,y1,'DisplayName','foo'),hold on
plot(x,y2,'DisplayName','bar'),hold off
legend
%example 2:
subplot(1,3,2)
h1=plot(x,y1);hold on
h2=plot(x,y2);hold off
legend([h1 h2],{'foo','bar'})
%example 3:
subplot(1,3,3)
h1=plot([x;x]',[y1a;y1b]');hold on
h2=plot(x,y2);hold off
legend([h1(1) h2(1)],{'foo','bar'})
Chaman Dewangan on 19 Dec 2020
I also get same legend colour for two different plots. Example one is helpful. It solves the error. Thanks