Problem with the legend for the multiple axes.

1 view (last 30 days)
Hi everyone, I am plotting two graph using multiple axes option, the problem i am having now is with the legend. It is displaying only the first graph but not the for the second graph. I am doing it in this way,
hold on;
line(channels1,cabschusage_percent,'Color','k')
ax1 = gca; % current axes
ax1_pos=get(ax1,'Position');
ax2 = axes('Position',ax1_pos,'XAxisLocation','top',...
'YAxisLocation','right',...
'Color','none');
line(channels2,hbschusage_percent,'Parent',ax2,'Color','r');
set(ax2,'XColor','r');
set(ax2,'YColor','r');
legend('CABS Channel Usage', 'HBS Channel Usage');
grid on;
axis tight;
hold off;

Accepted Answer

Brendan Hamm
Brendan Hamm on 27 Feb 2015
The axes legend is a child of the axes and therefore it does not know about the line on the other axes. One thing you consider is just using the plotyy(...) function.
  2 Comments
Aftab Ahmed Khan
Aftab Ahmed Khan on 27 Feb 2015
Hi, thank you for the reply. If i use plotyy function it put my second x-axis on top of the first x-axis. I want one of them to be on the top as they are different from each other.
Aftab Ahmed Khan
Aftab Ahmed Khan on 27 Feb 2015
Edited: Aftab Ahmed Khan on 27 Feb 2015
Hi, Anyways i manage to do it like this by putting different xlabels and ylabels. Thanks

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!