How do I copy a figure object and its descendants to another object of the same class in MATLAB?
3 views (last 30 days)
Show older comments
I have a figure with several objects such as curves, annotations etc. I want to be able to copy all the objects in the figure to another figure while retaining the same hierarchy.
Accepted Answer
MathWorks Support Team
on 8 Sep 2010
The function COMPCOPY below is an example of how to implement such a functionality.
function compCopy(op, np)
%COMPCOPY copies a figure object represented by "op" and its % descendants to another figure "np" preserving the same hierarchy.
ch = get(op, 'children');
if ~isempty(ch)
nh = copyobj(ch,np);
for k = 1:length(ch)
compCopy(ch(k),nh(k));
end
end;
return;
The function can be used as follows
hf1 = figure;
ax1 = subplot(211);
plot(1:10);
title('First Figure');
ax2 = subplot(212);
plot(31:40);
title('Second Figure');
hf2 = figure;
compcopy(hf1, hf2);
For information on the COPYOBJ function execute the following at the MATLAB command prompt:
doc copyobj
0 Comments
More Answers (0)
See Also
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!