Plot already exisitng graphs onto one graph

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Matt Fig
Matt Fig il 2 Giu 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)

Più risposte (1)

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

Categorie

Scopri di più su Specifying Target for Graphics Output in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by