How to combine pre-saved plots (.fig) into one figure?

9 vues (au cours des 30 derniers jours)
Ismaeel
Ismaeel le 17 Sep 2017
Commenté : Image Analyst le 18 Sep 2017
Hi, I have several pre-saved plots in format .fig and I want to combine them together with different colors. Any simple function or idea to deal with this? Thanks in advance

Réponses (1)

Image Analyst
Image Analyst le 17 Sep 2017
Why not use export_fig() and save them as PNG images, then you can use montage() to create an array of those images?
  4 commentaires
Ismaeel
Ismaeel le 17 Sep 2017
Modifié(e) : Ismaeel le 17 Sep 2017
Thanks Image Analyst for your reply. Do you think my question is hard to understand? you have saved .fig files and you want them all combined in one figure, simple and plain. Anyway, open or openfig do not make them one, instead, open them in their own figures. I have solved the problem using the link:
https://www.mathworks.com/matlabcentral/answers/3901-merging-two-figures
This is how I solved for 5 figures: P1, P2 P3, P4, and P5.
figure(1) = openfig('P1.fig');
figure(2) = openfig('P2.fig');
figure(3) = openfig('P3.fig');
figure(4) = openfig('P4.fig');
figure(5) = openfig('P5.fig');
L3 = findobj(2,'type','line');
L4 = findobj(3,'type','line');
L5 = findobj(4,'type','line');
L6 = findobj(5,'type','line');
copyobj(L3,findobj(1,'type','axes'));
copyobj(L4,findobj(1,'type','axes'));
copyobj(L5,findobj(1,'type','axes'));
copyobj(L6,findobj(1,'type','axes'));
Thanks once again
Image Analyst
Image Analyst le 18 Sep 2017
Yes it wasn't clear. I'd thought you wanted to open them and "tile" them, like into quadrants.
I think rather than getting the lines out, you can get the data out of the axes with XData and then replot it. Maybe something like (untested):
f1 = openfig(filename1)
ax = gca;
x1 = ax.XData;
y1 = ax.YData;
plot(x1, y1, 'b-', 'LineWidth', 2);
and so on for the other figures to get x2, y2, x3, y3, etc.
Don't use figure as the name of a variable like you did because that's the name of an important built-in function. Call it myFigures or something instead of figure.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Bessel functions dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by