Combining Multiple Scatter plots into one figure
29 views (last 30 days)
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');
ax1 = get(fh1, 'Children');
ax2 = get(fh2, 'Children');
ax2p = get(ax2(1),'Children');
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?
Reshma Nerella on 5 Apr 2021
If you want to combine multiple scatter plots into a figure, you can try it out this way.
for i= 1:3
h(i) = openfig(num2str(i) + ".fig", 'invisible'); % opening figures named 1.fig, 2.fig and so on
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
title("Merged Scatter Plot");
Hope this helps!