Extracting x,y data from a folder of figures

1 次查看(过去 30 天)
I currently have code which extracts the x,y data from a set of figues into a cell of arrays of the data. This is what i want to have happen however there are two problems. One is that the code requires the figue to flash up and be closed to get the data. I tired to use the load function but had no luck. The other problem is that i currently pick the figures i want data from by making sure they end with the same letters. I ideally would like it so that the code starts with something like 'figures=uigetdir('C:\user\......') where i could navigate to a folder containing all the .fig files i want and load them.
Any help would be appreciated.
dinfo = dir('*mono.fig');
fignames = {dinfo.name};
numfig = length(fignames);
y = cell(numfig, 1);
z = cell(numfig, 1);
for K = 1 : numfig
figfile = fignames{K};
try
fig = openfig(figfile);
ax = get(fig, 'CurrentAxes');
if ~isempty(ax)
hline = get(ax, 'Children');
y{K} = get(hline,'XData');
z{K} = get(hline,'YData');
end
close(fig);
end
end

采纳的回答

Rik
Rik 2021-8-10
You can set the visibilty to off when loading the figure:
fig = openfig(figfile,'invisible');
That should take care of the flashing.
And what is your problem using uigetdir? The result will either be emtpy (in case the user closes the picker), or will contain a path you can use as input to dir (don't forget to add '*.fig').
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by