Combining multiple MATLAB figures in one plot

Réponses (2)

Hi,
You can utilize “openfig()” for the purpose of opening a figure.
openfig()” by default opens the figure. The below approach shows how to merge 3 figures, but it also opens other individual figures themselves.
Here ‘fig1.fig’, ‘fig2.fig’ and ‘fig3.fig’ are 3 sample figures.
close all;
h(1) = openfig('fig1.fig');
h(2) = openfig('fig2.fig');
h(3) = openfig('fig3.fig');
hold on;
title('Final Merged Figure');
plot(h(1).Children.Children.XData, h(1).Children.Children.YData);
plot(h(2).Children.Children.XData, h(2).Children.Children.YData);
plot(h(3).Children.Children.XData, h(3).Children.Children.YData);
hold off;
If you do not want to see the plots of the individual figures, you can pass the parameter ‘invisible’ to “openfig()”.
close all;
h(1) = openfig('fig1.fig', 'invisible');
h(2) = openfig('fig2.fig', 'invisible');
h(3) = openfig('fig3.fig', 'invisible');
hold on;
k = gcf;
k.Visible = 'on';
title("Final Merged Figure");
plot(h(1).Children.Children.XData, h(1).Children.Children.YData);
plot(h(2).Children.Children.XData, h(2).Children.Children.YData);
plot(h(3).Children.Children.XData, h(3).Children.Children.YData);
hold off;
A similar question on accessing properties of a figure has been answered here

1 commentaire

Araz Garaz
Araz Garaz le 25 Nov 2022
Hi,
I am trying to use your code but getting an error as
unrecognised method, property, or field 'XData' for class 'matlab.grapic.primitive.Data'.
Do you have any recomendation on that?

Connectez-vous pour commenter.

kefei
kefei le 22 Juin 2022
Modifié(e) : DGM le 4 Mai 2024

0 votes

you can use my figure2subplot.m function to copy each figure to one subplot in the target figure.
check this link for the function :

Catégories

En savoir plus sur Printing and Saving dans Centre d'aide et File Exchange

Produits

Version

R2019a

Modifié(e) :

DGM
le 4 Mai 2024

Community Treasure Hunt

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

Start Hunting!

Translated by