How to make a subplot into a new standalone figure?

86 visualizaciones (últimos 30 días)
K E
K E el 27 de Feb. de 2014
Comentada: Ash Ash el 12 de Jul. de 2020
A colleague is giving me several fig files, each of which contains several subplots. What is the way that I can "copy" a subplot to a new standalone figure, including lines, x/y labels, and title? I would like to insert this in the following code, so I can automatically generate a figure for every subplot in the workspace.
% Make some fake figures
for iFig = 1:3
for iSub = 1:4
figure(iFig);
subplot(2,2,iSub);
end
end
% Get handles to all subplots
hAx = findobj('type', 'axes');
for iAx = 1:length(hAx)
axes(hAx(iAx));
% Do something here to generate a new figure containing
% lines/labels copied from this axis
end

Respuesta aceptada

Sean de Wolski
Sean de Wolski el 27 de Feb. de 2014
You'll want to use copyobj.
This MathWorks' TS Answer might help get you started.
  2 comentarios
K E
K E el 28 de Feb. de 2014
Great! I was able to do the following,
hAx = findobj('type', 'axes');
for iAx = 1:length(hAx)
fNew = figure;
hNew = copyobj(hAx(iAx), fNew);
% Change the axes position so it fills whole figure
set(hNew, 'pos', [0.23162 0.2233 0.72058 0.63107])
end
Ash Ash
Ash Ash el 12 de Jul. de 2020
Thank you! This code solved my problem. All I needed to do was to tweak the axes position values to fit my monitor resolution.

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by