2017-09-27 9 views
0

Après avoir effectué plusieurs simulations sur un cluster, où chaque simulation enregistre une figure, je veux combiner ces figures en une seule figure.Combiner des figures avec des intrigues secondaires en une seule figure

Pour faciliter, supposons que nous avons les deux chiffres:

x = 0:0.01:.2; 

subplot(1,3,1) 
plot(x,sin(x)) 
legend('sin(x)') 

subplot(1,3,2) 
plot(x,cos(x)) 
legend('cos(x)') 

subplot(1,3,3) 
plot(x,tan(x)) 
legend('tan(x)') 

et

x = 0:0.01:.2; 

subplot(1,3,1) 
plot(x,x,'r') 
legend('x') 

subplot(1,3,2) 
plot(x,1-x.^2/2,'r') 
legend('1-x.^2/2') 

subplot(1,3,3) 
plot(x,x,'r') 
legend('x') 

sauvé comme figure1.fig et figure2.fig. Je voudrais maintenant combiner ces deux parcelles en une seule figure avec 3 sous-parcelles, les mêmes couleurs et légendes. Y a-t-il un moyen facile de faire ceci?

Répondre

2

Open both the figures et copy the objects d'une figure à l'autre.

hf1 = openfig('figure1.fig'); 
hf2 = openfig('figure2.fig'); set(hf2, 'Visible', 'off'); 

for k=1:numel(hf1.Children) 
    copyobj(hf2.Children(k).Children, hf1.Children(k)); %Copying objects to figure1 
end 

Résultat pour les données de l'échantillon fourni est:

output
Les parcelles peuvent être trop semblables pour être remarqué qui est due aux données fournies échantillon lui-même.

0

Dans le menu Fichier -> Générer du code ..., vous pouvez générer du code pour créer la figure. Ensuite, vous pouvez le modifier (index de sous-placette et emplacement) en fonction de votre besoin de combiner avec un autre chiffre.

Je n'ai pas trouvé de commande pour générer du code.