MATLAB Answers

# Is there any way to merge several figures already drawn into one fugure??

481 views (last 30 days)
Genhou on 27 Apr 2014
Commented: JohnDylon on 19 Nov 2016
Hi everybody. I have a problem about how to merge several figures drawn already into one figure. It is impossible to merge these figures in the process of code writing, since it involves several large data file. Now I have already drawn all the figures i needed, how can these figures be merged together into one ? Thank you.
##### 1 CommentShowHide None
atefeh nazari on 27 Jun 2015
Hi I have a similar problem. I have 4 figures that are saved as ".fig" and in every of them, there is 3 curve simultaneously. I want to plot these 4 figures(every one has 3 curves in it) by "subplot" (subplot(2,2,1-4)) but I do not know how I can do it .May everybody help me ? Thanks

Sign in to comment.

### Accepted Answer

Walter Roberson on 27 Apr 2014
##### 1 CommentShowHide None
Genhou on 27 Apr 2014
Thank you. the second website (subplot of already saved figures) offers me the figure i want.

Sign in to comment.

### More Answers (2)

Roberto on 27 Apr 2014
I think it's possible by extracting the data directly from plots; lets say you have two plots in different figures, get all the line objects, extract the x and y data from line properties and plot them in the same plot with hold on feature, here's a little example:
a= randn(1,100) ; b = randn(1,150) ;
h(1) = figure; plot(a); h(2) = figure; plot(b);
handleLine = findobj(h,'type','line');
hold on ;
for i = 1 : length(handleLine)
plot(get(handleLine(i),'XData'), get(handleLine(i),'YData')) ;
end
in the image I posted i've changed the marker and color of 1 line for clarity purpose.
##### 1 CommentShowHide None
Genhou on 27 Apr 2014
Thanks. the code you give me is to put two figures into one, sharing the same axes. it is very useful, although it is not what i wanted.the fault is made by myself since i described my question in an unclear way. thanks for you kind reply.

Sign in to comment.

atefeh nazari on 26 Jun 2015
Hi I have a similar problem. I have 4 figures that are saved as ".fig" and in every of them, there is 3 curve simultaneously. I want to plot these 4 figures(every one has 3 curves in it) by "subplot" (subplot(2,2,1-4)) but I do not know how I can do it .May everybody help me ? Thanks
##### 1 CommentShowHide None
JohnDylon on 19 Nov 2016
This can give you and somebody checking here a hint:
x=-1000:0.5:1000;
for i=1:8
y=x.^i;
subplot(2,4,i)
hold on
plot(x,y);
end

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!

Translated by