Combining multiple MATLAB figures in one plot
显示 更早的评论
How can I merge the three different saved matlab figures (plots) in one graph?
回答(2 个)
Sourabh Kondapaka
2020-8-7
Hi,
“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;
1 个评论
Araz Garaz
2022-11-25
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?
you can use my figure2subplot.m function to copy each figure to one subplot in the target figure.
check this link for the function :
类别
在 帮助中心 和 File Exchange 中查找有关 Printing and Saving 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!