19 error(
" ah must be an array of handles ");
22 fh = ancestor(ah(1),
" figure ");
25 if ~ismember(
get(ah(a),
" Type "), [
" axes ",
" uipanel "])
26 error(
" All handles must be axes or uipanel handles. ");
28 if ~isequal(ancestor(ah(a),
" figure "), fh)
29 error(
" Axes must all come from the same figure. ");
33 old_tag =
get(ah,
" Tag ");
37 set(ah,
" Tag ",
" ObjectToCopy ");
42 set(fh,
" Visible ",
" off ");
46 set(ah(a),
" Tag ", old_tag[a]);
49 ah = findall(fh,
" Tag ",
" ObjectToCopy ");
52 error(
" Incorrect number of objects found. ");
56 set(ah(a),
" Tag ", old_tag[a]);
59 lh = findall(fh,
" Type ",
" axes ",
" -and ", [
" Tag ",
" legend ",
" -or ",
" Tag ",
" Colorbar "]);
62 ax_pos =
get(ah,
" OuterPosition ");
64 ax_pos = cell2mat(ax_pos(:));
66 ax_pos(:,3:4) = ax_pos(:,3:4) + ax_pos(:,1:2);
67 leg_pos =
get(lh,
" OuterPosition ");
69 leg_pos = cell2mat(leg_pos);
71 leg_pos(:,3:4) = leg_pos(:,3:4) + leg_pos(:,1:2);
74 ah = [ah; lh(leg_pos(:,1) < ax_pos(a,3) & leg_pos(:,2) < ax_pos(a,4) &...
75 leg_pos(:,3) > ax_pos(a,1) & leg_pos(:,4) > ax_pos(a,2))];
81 delete(axs(~ismember(axs, [ah; allchildren(ah); allancestors(ah)])));
108 h =
get(ah(a),
" parent ");
111 h =
get(h,
" parent ");
function fh = isolate_axes(ah, vis)
Make sure we have an array of handles.
function ph = isolateaxes>allancestors(ah)
function ah = isolateaxes>allchildren(ah)
function fh = copyfig(fh)
Set the default.