Loading a fig file without opening

133 views (last 30 days)
Hi,
I have .fig in the current directory and wish to extract data from it. I used the following code for this purpose,
open('power.fig');
a = get(gca,'Children');
xdata = get(a, 'XData');
ydata = get(a, 'YData');
The code works. My problem is it also opens the fig file in a separate figure window. I don't want that to happen. I just want to extract the data.
Ofcourse I could use,
close figure
But it just takes out the graph and shows an empty figure window.
I would be very much grateful if somebody could help me in this.
Thanks in advance!

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 8 Feb 2021
Edited: Fangjun Jiang on 8 Feb 2021
f=openfig('power.fig','invisible')
a=get(f,'Children')
...
close(f)
clear f
  3 Comments
Noemie Danne
Noemie Danne on 28 Feb 2022
The figure still pop up quickly before closing.
How can I prevent this?
Gabriele Bellomia
Gabriele Bellomia on 13 May 2022
Try this:
>> load test.fig -mat hgS_070000
>> hgS_070000
hgS_070000 =
struct with fields:
type: 'figure'
handle: 1
properties: [1×1 struct]
children: [1×1 struct]
special: []
It should work, I just tested it on R2020b Update 7 and it does.
But beware that is undocumented (and probably unintended) behavior. So it might change suddenly.
More info here: https://undocumentedmatlab.com/articles/fig-files-format

Sign in to comment.

More Answers (0)

Categories

Find more on Debugging and Analysis in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!