from figure file to mat file?
    41 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hi, I have saved a fig file and now I want to do some operation on it. I have tried
example=load("name.fig",'-mat');
but it doesn't give me a mat file.
Do you know how to convert?
0 Commenti
Risposte (1)
  Mathieu NOE
      
 il 6 Apr 2023
        hello 
you can use that function to extract data from figures 
function data = extract_data_from_figures(filename)
%%
% 
% Input  : File name <filename.fig> 
%          with multiple plots in a single file
% Output : struct data
%        : data.names  contains names of the display object Yvalues
%        : data.Y      contains the actual plot values withthe first column
%                      containing the x-values
%
% Written by Chetanya Puri, 2019
% Last Modified: Nov 6, 2019
%
fig = openfig(filename); % Open figure and assign it to fig object
dataObjs = findobj(fig,'-property','YData'); % Find all graphic objects with YData, in our case line values
xval        = dataObjs(1).XData; % Find the X-axis value
Ymat = [xval(:)]; % Create a matrix with first column of x values
for i=1:length(dataObjs)
    legend_name{i,1} = dataObjs(i).DisplayName;
    yval        = dataObjs(i).YData;
    Ymat = [Ymat yval(:)]; % Keep appending column vectors
end
close(fig); % close the figure
data.names = ['X';legend_name]; 
data.Y = Ymat;
end
4 Commenti
  Walter Roberson
      
      
 il 12 Apr 2023
				for i=1:length(dataObjs)
    if isprop(dataObjs(i), 'DisplayName')
        legend_name{i,1} = dataObjs(i).DisplayName;
    else
        legend_name{i,1} = sprintf('%s: #%d', classname(dataObjs(i)), i);
    end
    yval        = dataObjs(i).YData;
    Ymat = [Ymat yval(:)]; % Keep appending column vectors
end
Vedere anche
Categorie
				Scopri di più su Creating, Deleting, and Querying Graphics Objects in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!