MATLAB Answers

subplot of already saved figures

1,052 views (last 30 days)
Iyk
Iyk on 21 Aug 2013
Commented: Walter Roberson on 5 May 2020
i have somany figures like dyke_tap, dyke_tbp,dyke_tcp and dyke_tdp...... they aare all bar plots and i want to have them side by side in other to compare them. i have seen ways of merging them, but that wont be good for what i want so i want to use a subplot. how can i use a subplot on already saved figures..... example ' having 'dyke_tap, dyke_tbp,dyke_tcp and dyke_tdp' side by side

  2 Comments

David Sanchez
David Sanchez on 21 Aug 2013
what is the images extension? .fig? .png?

Sign in to comment.

Answers (4)

laurie
laurie on 21 Aug 2013
Here is a small bit of code that does just that for two saved figures. The figures need to be saved in the .fig format with this code (hgload only takes .fig figures as inputs), but there might be some way to adapt this code to make it work for other formats.
% Load saved figures
c=hgload('MyFirstFigure.fig');
k=hgload('MySecondFigure.fig');
% Prepare subplots
figure
h(1)=subplot(1,2,1);
h(2)=subplot(1,2,2);
% Paste figures on the subplots
copyobj(allchild(get(c,'CurrentAxes')),h(1));
copyobj(allchild(get(k,'CurrentAxes')),h(2));
% Add legends
l(1)=legend(h(1),'LegendForFirstFigure')
l(2)=legend(h(2),'LegendForSecondFigure')

  11 Comments

Show 8 older comments
Walter Roberson
Walter Roberson on 11 Jun 2019
subplots are just axes.
You probably want to arrange each figure within a uipanel to frame it.
Yunyu Hu
Yunyu Hu on 5 May 2020
This method works. But it does not copy the legend to the subplot

Sign in to comment.


Farhad Sedaghati
Farhad Sedaghati on 22 Jun 2015
Edited: Farhad Sedaghati on 22 Jun 2015
You can use the following function to insert all the saved fig files next to each other: http://www.mathworks.com/matlabcentral/fileexchange/51236-subplot

  0 Comments

Sign in to comment.


Jesica Gomez
Jesica Gomez on 20 Feb 2017
Hi, does it work for 3d graphs? I'm trying to use the code but it plots 2D graphs.
Thanks

  0 Comments

Sign in to comment.


Tasos Ampelas
Tasos Ampelas on 7 Aug 2018
Hi everyone,
In the @laurie 's first answer code, is there a way to get only the final figure and not every single one that I have loaded to matlab?

  0 Comments

Sign in to comment.