Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Producing subplots and then combine them into a figure later in MATLAB

Tags:

plot

matlab

My program produces small figures during the command cycle. Is there a way to just save these figures and then combine them in one figure later?

like image 238
Vass Avatar asked Oct 24 '10 15:10

Vass


People also ask

How do you keep a plot on the same figure in MATLAB?

Use hold on to add a second line plot without deleting the existing line plot. The new plot uses the next color and line style based on the ColorOrder and LineStyleOrder properties of the axes.

How do I show multiple images in one figure MATLAB?

You can use the imshow function with the MATLAB subplot function to display multiple images in a single figure window. For additional options, see Work with Image Sequences as Multidimensional Arrays. The Image Viewer app does not support this capability.

What is difference between plot and subplot in MATLAB?

subplot divides the current figure into rectangular panes that are numbered rowwise. Each pane contains an axes object. Subsequent plots are output to the current pane.


2 Answers

Consider the code:

hFig = figure;

%# create temporary subplots as template
for i=1:2, h(i) = subplot(2,1,i); end       %# create subplots
pos = get(h, 'Position');                   %# record their positions
delete(h)                                   %# delete them

%# load the .fig files inside the new figure
fileNames = {'a.fig' 'b.fig'};              %# saved *.fig file names
for i=1:2
    %# load fig
    hFigFile = hgload( fileNames{i} );

    %# move/copy axis from old fig to new fig
    hAx = get(hFigFile, 'Child');           %# hAx = gca;
    set(hAx, 'Parent',hFig)
    %#hAx = copyobj(hAx,hFig);

    %# resize it to match subplot position
    set(hAx, 'Position',pos{i});

    %# delete old fig
    delete(hFigFile)
end

This was adapted from this newsgroup discussion

like image 151
Amro Avatar answered Nov 10 '22 08:11

Amro


Use saveas. Save your subplot as a FIG file so you have complete control over it later (as opposed to a JPG).

Choose a tiling pattern and then use subplot to display multiple figures in one.

like image 32
Jacob Avatar answered Nov 10 '22 08:11

Jacob