How to make a subplot into a new standalone figure?

70 vues (au cours des 30 derniers jours)
K E
K E le 27 Fév 2014
Commenté : Ash Ash le 12 Juil 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

Réponse acceptée

Sean de Wolski
Sean de Wolski le 27 Fév 2014
You'll want to use copyobj.
This MathWorks' TS Answer might help get you started.
  2 commentaires
K E
K E le 28 Fév 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 le 12 Juil 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by