MATLAB Answers

Manuel
1

Save axes plot as '.fig' in a GUI

Asked by Manuel
on 9 Sep 2013
Latest activity Commented on by loghman
on 4 Feb 2018
Accepted Answer by Jan
I have a GUI in which one an axes is located with a plot and I would like to save this axes as '.fig' file. I have tried with :
[FileName,PathName] = uiputfile;
saveDataName = fullfile(PathName,FileName);
axes(handles.Graph1_axes);
saveas(gca, saveDataName, 'fig');
But this commands save all the GUI interface as '.fig'. Any help will be welcome.
Thanks in advance!

  0 Comments

Sign in to comment.

2 Answers

Jan
Answer by Jan
on 9 Sep 2013
 Accepted Answer

The FIG format contains the complete figure (as the name says already). If you want to save a single axes only and definitely want the FIG format, you can copy the axes to a new figure:
Fig1 = figure;
AxesH = axes;
plot(1:10, rand(10,10));
Fig2 = figure;
copyobj(AxesH, Fig2);
hgsave(Fig2, 'myFigure.fig');

  1 Comment

Manuel
on 10 Sep 2013
Everything works! Thanks!

Sign in to comment.


Answer by Sean de Wolski
on 9 Sep 2013

You can't directly save just the axes. Instead, use export_fig with the cropping option

  5 Comments

Jan
on 10 Sep 2013
What about using hgsave directly.
loghman
on 4 Feb 2018
copyobj doesn't work for axes with multiple coordinated system. what should i do?
loghman
on 4 Feb 2018
copyobj doesn't work for axes with multiple coordinated system. what should i do?

Sign in to comment.