from figure file to mat file?
28 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 Interactive Control and Callbacks 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!