Digitize(extract data) from a matlab plot
4 views (last 30 days)
Show older comments
I have a figure generated by matlab plot(t,y). It is a time-series. The figure is in a Microsoft Word file. And the figure can be saved as PNG, TIF etc(but no FIG file format). Data is quite big and it's impossible to digitize it by a digitizer. I wonder if there's any way to extract data x and y. Thanks
1 Comment
Jan
on 30 Dec 2012
Please explain the format of the available data exactly. "A figure copied to word" does not allow to draw enough conclusions.
Why is it impossible to use a digitizer?
Answers (1)
Image Analyst
on 30 Dec 2012
Try this: http://www.mathworks.com/matlabcentral/fileexchange/36904-matlab-script-for-digitizing-a-published-graph "This function lets users digitize a published graph that is saved as a image e.g. jpeg."
3 Comments
Image Analyst
on 31 Dec 2012
Can you "get()" the xdata and ydata properties from the fig?
xValues = get(hFig, 'xdata');
Does that work? Or maybe from the axes or line series objects.
xValues = get(hAxes, 'xdata');
hLine = findobj(hAxes, 'line');
xValues = get(hLine, 'xdata');
You might have to experiment around - just like I'd have to because I don't do this all the time so I don't know off the top of my head. But if you have the fig file, why don't you have the arrays that went into creating it????? You should have them. Can you modify whatever code made the fig file to save the x and y data out to a mat file?
See Also
Categories
Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!