MATLAB: I have five figure in .Fig extension which i am creating after plotting 5 rows from a dataset. Now i want to Join these 5 figure into one figure in vertical allignemnt

figure

<<
>>
<<
>>

Best Answer

for each .fig, use openfig() to open the figure and return a handle to it. For each of those handles, h(K)
h_line = findobj(h(K), 'type', 'line');
line_ax = ancestor(h_line, 'axes');
title_obj = get(line_ax, 'title');
titles{K} = get(title_obj, 'string');
xlab{K} = get(line_ax, 'xlabel');
ylab{K} = get(line_ax, 'ylabel');
xdata{K} = get(h_line, 'xdata');
ydata{K} = get(h_line, 'ydata');
Once you have all of those, you can create a new figure and
for K = 1 : 5
ax = subplot(5,1,K);
plot(xdata{K}, ydata{K});
title(titles{K});
xlabel(xlab{K});
ylabel(ylab{K});
end
You can extend this if you need the tick marks to be specifically copied instead of automatically generated, or need special font, and so on.