MATLAB Answers

0

Problem with the legend for the multiple axes.

Asked by Aftab Ahmed Khan on 27 Feb 2015
Latest activity Edited by Aftab Ahmed Khan on 27 Feb 2015
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;

  0 Comments

Sign in to comment.

1 Answer

Answer by Brendan Hamm on 27 Feb 2015
 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.