Why am I getting the same colour of the legend for the last 2 plots?

1 view (last 30 days)

Accepted Answer

Star Strider
Star Strider on 28 Mar 2023
Edited: Star Strider on 28 Mar 2023
I suspect that it is because ‘y2’ has more than one row.
The solution is to return the handles of the plots, and select only one line from the second plot in the legend call —
H = 1:25;
y1 = rand(1,25)+0.25;
y2 = rand(2,25)+0.5;
F = rand(2,25);
figure
plot(H, y1, '-b');
hold on
plot(H, y2, '-g');
plot(H, F(1,:), 'r-');
hold off
legend('Line1','Line2','Line3', 'Location','best')
title('Original')
figure
hp1 = plot(H, y1, '-b');
hold on
hp2 = plot(H, y2, '-g');
hp3 = plot(H, F(1,:), 'r-');
hold off
legend([hp1;hp2(1);hp3],'Line1','Line2','Line3', 'Location','best')
title('Corrected')
EDIT — (28 Mar 2023 at 16:37)
Wrote ‘column’, intended ‘row’ in the first sentence. Fixed now.
.

More Answers (1)

Mathieu NOE
Mathieu NOE on 28 Mar 2023
add one more line
at the end of your script, add :
hold off

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!