MATLAB Answers

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

481 views (last 30 days)
Genhou
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 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.

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.

Community Treasure Hunt

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

Start Hunting!

Translated by