Differences

This shows you the differences between two versions of the page.

Link to this comparison view

how_to_extract_data_from_matlab_figure_file [2016/04/07 05:30] (current)
xfel created
Line 1: Line 1:
 +One trick is to use HGLOAD
  
 +For example, as explained here 
 +
 +http://​stackoverflow.com/​questions/​2976505/​how-can-i-extract-data-from-a-fig-file-in-matlab
 +
 +Try hgload and then poke around the graphics handle structure it returns. For example, if you plot and save the following:
 +
 +x=0:.01:10;
 +y=sin(x);
 +h=plot(x,​y);​
 +saveas(h,'​testfigure.fig'​);​
 +Clear your workspace, and open the saved figure using hgload:
 +
 +clear
 +close all
 +h=hgload('​testfigure.fig'​);​
 +You can inspect the figure'​s handle h by calling
 +
 +get(h)
 +Or delve further into the axes/​titles/​legends by calling
 +
 +ch=get(h,'​Children'​);​
 +If you're using the code in my example, you should only have one child for the figure, which will be the axes. Call the children of the axes, and you should have one line.
 +
 +l=get(ch,'​Children'​);​
 +Next, call the '​Xdata'​ and '​Ydata'​ fields of the line, and you have your original data.
 +
 +x=get(l,'​Xdata'​);​
 +y=get(l,'​Ydata'​);​
 +If you have a more complicated figure than just axes, it gets a little tougher. You'll need to explore each child to determine if it's the plot you wanted to extract data from.

Richard Feynman

“everything that is living can be understood in terms of the jiggling and wiggling of atoms”.

and now, we want to watch atoms jiggling and wiggling.

X-rays, electrons, fluorescence light, the advances of photon sciences, together with computational modeling, are making this happen.