Extract time series data from figure

36 views (last 30 days)
Felix
Felix on 29 Sep 2011
I have certain data only as .fig files but I want to extract the time series (x- and y points) of a particular graph and have them as a normal variable in my workspace for further analysis.
A first step that might be helpful is to open the fig file as a .mat file with load('Example.fig','-mat') The .fig file (see my dropbox link below) contains 4 figures, I am only interested in the upper part of figure 2 (see arrow http://i27.lulzimg.com/92f4285ead.png ). So I suppose the XDATA and YDATA of figure 2 should be somewhere in the second struct file under children --> .... I cannot find it within this complicated structure, and the variable editor doesn't seem to offer a search function. Can you find it?

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 29 Sep 2011
Use this example:
f=figure(1);
h=plot(magic(4));
l=findobj(gca,'type','line');
x1=get(l(1),'xdata')
y1=get(l(1),'ydata')
x2=get(l(2),'xdata')
y2=get(l(2),'ydata')
  3 Comments
Fangjun Jiang
Fangjun Jiang on 29 Sep 2011
findobj(gca,'type','line','DisplayName',WhateverName).
After running the example code, try get(l(1)) to see all the properties.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!