Its been asked many times but my code looks fine. I dont know whats making matlab show same colors on the legend
figure(1),
semilogy([1:101],rRE_NeNMF_V','b'),
hold on
semilogy([1:101],rRE_NeNMF_GC','r'),
hold on
semilogy([1:101],rRE_NeNMF_GC_RE','g'),
hold on
semilogy([1:101],rRE_NeNMF_RSI','y'),
axis([0 101 1e-10 1.01])
legend('vanilla','GC','GCRE','RSI')
xlabel('Iterations')
ylabel('RRE')
title('plts of solvers')

 Accepted Answer

Adam Danz
Adam Danz on 17 Feb 2020
Edited: Adam Danz on 18 Feb 2020
Use the function outputs to get the line object handles. Then, use the object handles in legend().
sem1 = semilogy([1:101],rRE_NeNMF_V','b');
hold on
sem2 = semilogy([1:101],rRE_NeNMF_GC','r');
sem3 = semilogy([1:101],rRE_NeNMF_GC_RE','g');
sem4 = semilogy([1:101],rRE_NeNMF_RSI','y');
axis([0 101 1e-10 1.01])
legend([sem1(1),sem2(1),sem3(1),sem4(1)],'vanilla','GC','GCRE','RSI')

2 Comments

thank you
Happy to help.

Sign in to comment.

More Answers (0)

Asked:

on 17 Feb 2020

Commented:

on 18 Feb 2020

Community Treasure Hunt

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

Start Hunting!