Extract data from fig file and redraw the plot
    5 views (last 30 days)
  
       Show older comments
    
    Venkatkumar Muneeswaran
 on 26 Jun 2023
  
    
    
    
    
    Commented: colordepth
      
 on 26 Jun 2023
            Hello 
How to extract the data from the attached fig file into the workspace as variable and redraw the plot again.
Could anyone please help me resolve the issue?
0 Comments
Accepted Answer
  colordepth
      
 on 26 Jun 2023
        Hi, this will extract the data of the 4 lines from the .fig file and store them in XData and YData. The code should be self explanatory.
open('untitled.fig');
% Get the current figure and its children
f = gcf;
axes = f.Children;
% Initialize XData and YData as cell arrays
XData = {};
YData = {};
% Loop through the axes
for a = 1:length(axes)
    ax = axes(a);
    % Loop through the axes children
    for i = 1:length(ax.Children)
        % Check if the current child is a line object
        if isa(ax.Children(i), 'matlab.graphics.chart.primitive.Line')
            XData{end+1} = ax.Children(i).XData;
            YData{end+1} = ax.Children(i).YData;
        end
    end
end
close(gcf);
disp(YData(1)); % Display the current values for the 1st line
2 Comments
  colordepth
      
 on 26 Jun 2023
				You'll need to convert the cell to an ordinary array.
x = cell2mat(XData(1));
y = cell2mat(YData(1));
plot(x, y);
If the answer helps, please approve it :)
More Answers (0)
See Also
Categories
				Find more on Matrox Hardware 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!