Plot already exisitng graphs onto one graph

4 views (last 30 days)
I have two graphs generated by a code and now I want to use the code blow to plot them on a 2x1 figure. but the resulting figure, first doesn't show the graphs and second includes only one blank set of axes on top half of the page.
...................
fig1=openfig('firstpane')
fig2=openfig('secondpane')
subplot(211)
plot(fig1)
subplot(212)
plot(fig2)
..............
is there any easier way? I can't write a loop to generate the two figures at once because the code is quiet heavy and I'd get memory problem.
Thanks

Accepted Answer

Matt Fig
Matt Fig on 2 Jun 2011
I assume that you have two saved MATLAB figures, firstpane.fig and secondpane.fig, each with one axes object.
fh = figure;
P = subplot(2,1,1);
P1 = get(P,'pos');
delete(P)
P = subplot(2,1,2);
P2 = get(P,'pos');
delete(P)
fig1 = openfig('firstpane');
C = copyobj(gca,fh);
set(C,'pos',P1)
close(fig1)
fig1 = openfig('secondpane');
C = copyobj(gca,fh);
set(C,'pos',P2)
close(fig1)

More Answers (1)

Farhad Sedaghati
Farhad Sedaghati on 17 Jul 2015
This following function helps you to put several fig files next to each other as subplots: http://www.mathworks.com/matlabcentral/fileexchange/51236-subplot It is important to note that all the saved fig file should be 2D and single plot (No subplots)

Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!