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

254 views (last 30 days)
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 Comment
atefeh nazari
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
Walter Roberson on 27 Apr 2014

More Answers (2)

Roberto
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 Comment
Genhou
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
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 Comment
JohnDylon
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.

Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!