Plot already exisitng graphs onto one graph

1 次查看(过去 30 天)
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

采纳的回答

Matt Fig
Matt Fig 2011-6-2
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)

更多回答(1 个)

Farhad Sedaghati
Farhad Sedaghati 2015-7-17
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)

类别

Help CenterFile Exchange 中查找有关 Specifying Target for Graphics Output 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by