Combining Multiple Scatter plots into one figure

34 次查看(过去 30 天)
I have scatter plots saved in multiple matlab figure files, generated using a GUI built in Matlab. I would like to overlay one over the other.
I amusing the following code to overlay say figure 1 onto figure 2:
fh1 = open('1.fig');
fh2= open('2.fig');
ax1 = get(fh1, 'Children');
ax2 = get(fh2, 'Children');
ax2p = get(ax2(1),'Children');
copyobj(ax2p, ax1(1));
I then export this figure as fig1_2 and then proceed to overlay fig 3 onto this combined figure using similar code. I always encounter the following issue:
Error using copyobj
Scatter cannot be a child of Legend.
Is there a solution to this other than manually exporting and plotting data?

回答(1 个)

Reshma Nerella
Reshma Nerella 2021-4-5
Hi,
If you want to combine multiple scatter plots into a figure, you can try it out this way.
close all;
for i= 1:3
h(i) = openfig(num2str(i) + ".fig", 'invisible'); % opening figures named 1.fig, 2.fig and so on
end
f = figure;
for i = 1:3
plot(h(i).Children.Children.XData, h(i).Children.Children.YData); % overlay all the scatter plots on one figure
hold on;
end
title("Merged Scatter Plot");
hold off;
Hope this helps!

类别

Help CenterFile Exchange 中查找有关 Bar Plots 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by