axes setting problem

2 views (last 30 days)
Elis Kulla
Elis Kulla on 26 Apr 2012
Dear All, I am trying two plot two lines in the same axes using double Y-axis. I found an example in the help pages and adjusted for my needs. I can not get it, why does it show an error:
Error using: set
Value must be a handle
The error occurs in the third line of the following code:
line(ax,ay,'Color','r','LineWidth',2);
ax1 = gca;
set(ax1,'Ycolor','r','YLim',[0 500], 'ylabel', 'Distance(m)', 'FontSize',22, 'FontName','Helvetica');
ax2= axes('Position',get(ax1,'Position'),'YAxisLocation','right', 'Color','none', 'YColor','b', 'YLim',[0 3], 'ylabel','Distance(m)', 'FontSize',22, 'FontName','Helvetica');
line(bx,by,'Color','b','LineWidth',2,'Parent',ax2);
Please could you give me any clue?

Accepted Answer

Andreas Goser
Andreas Goser on 26 Apr 2012
The issue is in how you use YLABEL. Try:
set(ax1,'ylabel', 'Distance(m)');
The point is that you need a different type of handle here, not the axis handle. Insteadt run
set(ax1,'Ycolor','r','YLim',[0 500], 'FontSize',22, 'FontName','Helvetica');
set(get(gca,'YLabel'),'String','Distance (m)')
  2 Comments
Elis Kulla
Elis Kulla on 26 Apr 2012
Worked like a beauty.
It looks like the handles for axes are different from those of labels.
Thank you Mr. Goser
Andreas Goser
Andreas Goser on 26 Apr 2012
Yes, it is sometimes tricky with all the parent and child handles!

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!