How do I copy a figure object and its descendants to another object of the same class in MATLAB?

2 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

MathWorks Support Team
MathWorks Support Team le 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

Plus de réponses (0)

Catégories

En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by