from figure file to mat file?

31 visualizaciones (últimos 30 días)
MementoMori el 6 de Abr. de 2023
Comentada: MementoMori el 12 de Abr. de 2023
Hi, I have saved a fig file and now I want to do some operation on it. I have tried
but it doesn't give me a mat file.
Do you know how to convert?

Respuestas (1)

Mathieu NOE
Mathieu NOE el 6 de Abr. de 2023
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
close(fig); % close the figure
data.names = ['X';legend_name];
data.Y = Ymat;
  4 comentarios
MementoMori el 12 de Abr. de 2023
@Walter Roberson thank you. It gives me this error by the way
Undefined function 'classname' for input arguments of type ''.
Error in extract_data_from_figures (line 22)
legend_name{i,1} = sprintf('%s: #%d', classname(dataObjs(i)), i);
Error in NuovaDisposizione (line 295)

Iniciar sesión para comentar.


Más información sobre Graphics Object Identification en Help Center y File Exchange.


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by