Problem with the legend for the multiple axes.

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

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

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.
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!