MATLAB: Copy XLabel from axes: R2014a

axesfigureplotxlabel

Hello
I was trying to copy xlabel text from one axes to another with following code. What I exactly want is XLabel of a1f1 and a1f2 same.
f1 = figure;
a1f1 = axes;
XLa1f1 = xlabel('XLabel of axes');
f2 = figure;
a1f2 = axes;
set(a1f2, 'XLabel', XLa1f1)
The above code produces following error:
Error using set
XLabel must be an existing text child of axes
Can someone tell me how to work around this.
I am using R2014a
Thanks

Best Answer

You should say what version of MATLAB you are using because handle graphics changed appreciably in 14b.
R2014b and on
f1 = figure;
a1f1 = axes;
XLa1f1 = xlabel('XLabel of axes');
f2 = figure;
ax = gca;
ax.XLabel.String = XLa1f1.String;
Prior to 14b:
f1 = figure;
a1f1 = axes;
XLa1f1 = xlabel('XLabel of axes');
f2 = figure;
xlab = get(XLa1f1,'String');
xlabel(xlab)