Could anyone help me to solve the issue

1 view (last 30 days)
I want to compare the performance of two systems lets say A and B. I am getting the graph as i have attached it. for legend i have used the command
legend('A','B')
from the graph it is well clear B have better performance than A. so how to have the legend such that B comes first followed by A.

Accepted Answer

Rik
Rik on 7 Mar 2018
Edited: Rik on 7 Mar 2018
You need to save the handles to the line objects (i.e. the output of plot) in an array. Then you can re-order that array as you please. If you use the 'DisplayName' option in plot, you can avoid having to re-order a cell with the names as well.
%example:
h=[];%make sure h is empty
h(1)=plot(1:5,5+rand(1,5),'rd-','DisplayName','A');
hold on
h(2)=plot(1:5,7+rand(1,5),'bd-','DisplayName','B');
%re-order
order=[2 1];
h=h(order);
legend(h)
Another method is just to re-order the legend once you have it:
h = gca;
hC = findobj(h,'Type','line');
order=[2 1];
legend(hC(order));
  1 Comment
Rik
Rik on 9 Mar 2018
If you found this answer useful, please mark it as accepted answer. It will give me reputation points and will make it easier for other people with the same question to find an answer.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!