How do I get object data from a FIG file, such as X and Y data?

58 views (last 30 days)
i search on matlab searching question but not found it.
I have a graph with a curve. I want to know the Y value from my graph
example X = 10
how to find Y?
thx.
  4 Comments
GS76
GS76 on 10 Feb 2020
Thank you MRR!
Your reply helped me greatly.
Much appreciated.

Sign in to comment.

Accepted Answer

Julian Laackmann
Julian Laackmann on 14 Aug 2012
Edited: MathWorks Support Team on 9 Nov 2018
Open the figure using “openfig” and return the “Figure” object as an output argument, such as "fig". Then use “fig” to access the underlying objects in the figure.
fig = openfig('MySavedPlot.fig')
For example, if the figure contains a line plot, you might want to get the X and Y data for the line. You can get the X and Y data using the XData and YData properties of the "Line" object. You can access the "Line" object through the "Children" property of the axes. You can access the "Axes" object through the “Children” property of the figure.
ax = fig.Children
ln = ax.Children;
X = ln.XData;
Y = ln.YData;
  3 Comments
Image Analyst
Image Analyst on 14 Aug 2012
So all you have is a .fig file with the saved figure? You have absolutely no way to get the original data that was plotted to make the figure? There are submissions in the File Exchange to help you digitize values off a picture, such as http://www.mathworks.com/matlabcentral/fileexchange/36904-matlab-script-for-digitizing-a-published-graph

Sign in to comment.

More Answers (2)

uncung fgv
uncung fgv on 14 Aug 2012

asma chaudhry
asma chaudhry on 11 Sep 2018
Use Matlab's data cursor to find the first intersection of the line y=x with the graph of y=tan(x) in the first quadrant. Enter your answer as a decimal with 3 decimal places

Categories

Find more on Specifying Target for Graphics Output 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!