How to put existing figures in one figure together?

23 次查看(过去 30 天)
I have two existing figures ('fig1.fig" and "fig2.fig"), and want to put in one figure together horizontally and vertically (creating 2 figures).
I tried to use "tiledlayout" spending some time, but failed.
Thank you very much,
openfig('fig1.fig')
ans =
Figure (1) with properties: Number: 1 Name: '' Color: [1 1 1] Position: [268.2000 671.0000 560 420.0000] Units: 'pixels' Use GET to show all properties
openfig('fig2.fig')
ans =
Figure (2) with properties: Number: 2 Name: '' Color: [1 1 1] Position: [1325 496 560 420] Units: 'pixels' Use GET to show all properties

采纳的回答

Voss
Voss 2024-4-14
% open the fig files in two new figures
f1 = openfig('fig1.fig','invisible');
f2 = openfig('fig2.fig','invisible');
% get the ConfusionMatrixChart in each figure
cmc1 = f1.Children;
cmc2 = f2.Children;
% alternate way to get the ConfusionMatrixChart in each figure
% cmc1 = findall(f1,'Type','ConfusionMatrixChart');
% cmc2 = findall(f2,'Type','ConfusionMatrixChart');
% create a new figure with a tiledlayout
f = figure();
t = tiledlayout(f,1,2);
% copy the charts into the tiledlayout
h1 = copyobj(cmc1,t);
h2 = copyobj(cmc2,t);
% place them correctly
h1.Layout.Tile = 1;
h2.Layout.Tile = 2;
% same thing, now with a vertical layout
% create a new figure with a tiledlayout
f = figure();
t = tiledlayout(f,2,1);
% copy the charts into the tiledlayout
h1 = copyobj(cmc1,t);
h2 = copyobj(cmc2,t);
% place them correctly
h1.Layout.Tile = 1;
h2.Layout.Tile = 2;
% delete the original figures
delete([f1 f2])
  4 个评论

请先登录,再进行评论。

更多回答(1 个)

Paul
Paul 2024-4-14
If subplot layout is acceptable, then ...
% open the fig files in two new figures
f1 = openfig('fig1.fig','Invisible');
f2 = openfig('fig2.fig','invisible');
hnew = figure;
ax1 = copyobj(f1.Children,hnew);
subplot(2,1,1,ax1)
ax2 = copyobj(f2.Children,hnew);
subplot(2,1,2,ax2)
  2 个评论
Mibang
Mibang 2024-4-14
编辑:Mibang 2024-4-14
Perfect, again! This is even simpler.
Maybe bonus for me: is it possible to make the labels simpler, i.e., one "True Class" and "Predicted Class"?
Maybe not possible
Mibang
Mibang 2024-4-14
I want this answer accepted too, but I cannot.
Thank you very much.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Printing and Saving 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by