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?

 Akzeptierte Antwort

Andreas Goser
Andreas Goser am 26 Apr. 2012

0 Stimmen

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 Kommentare

Elis Kulla
Elis Kulla am 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 am 26 Apr. 2012
Yes, it is sometimes tricky with all the parent and child handles!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by