Put figures (.fig) in one page

8 次查看(过去 30 天)
Hi, I've 4 figures (1.fig, ..., 4.fig) and I want to put them in one page without running another time my program (it take 1 week) in order to have a page with the 4 figures (2 by 2) and export it in eps. Pleas give me a solution (matlab code)
thank you

采纳的回答

Matt Fig
Matt Fig 2011-5-22
Before you do anything, save each of your four figures as a MATLAB figure so your figures aren't lost!
Once you do that, close them all and run this example. The example makes four figures then pauses for you to look at them. When you are ready, press return at the command line to copy them all to a single figure. Once you understand the example, build your own to work with your figures. You will have to open your figures again, then run the relevant part of the code.
% Make some figures...
figure
plot(1:10)
figure
plot((1:10).^2)
figure
plot((1:10).^3)
figure
plot((1:10).^4)
pause % Wait for user to hit return...
fh = figure;
for ii = 1:4
subplot(2,2,ii)
P{ii} = get(gca,'pos');
end
clf
F = findobj('type','figure');
for ii = 2:5
ax = findobj(F(ii),'type','axes');
set(ax,'parent',fh,'pos',P{6-ii})
close(F(ii))
end

更多回答(2 个)

Ben Mitch
Ben Mitch 2011-5-22
There is an easy way, which depends a bit on what you've got in your figures. Assuming you've only got 1 axis per figure, this would work.
open 1.fig
a1 = gca;
open 2.fig
a2 = gca;
figure(3)
set(a1, 'parent', 3, 'position', p1);
set(a2, 'parent', 3, 'position', p2);
You'll have to figure out p1 and p2 for yourself. If you do have more axes than one per figure, try the following to get a list of them.
open 1.fig
a1 = get(gcf, 'children');
...

Mohamed Yassine
Mohamed Yassine 2011-5-22
thank you every body

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by