How to convert MATLAB plots to xls (Excel) sheets ?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Adnan Hayat
le 21 Août 2020
Commenté : Adnan Hayat
le 24 Août 2020
I have almost ten to fifteen MATLAB figures which I've got by running a MATLAB code. The code takes hours to plot a figure. My professor has now asked me to make .xls (Excel) sheets from the data associated with these figures. Although, I know how to do it and that is by using the "xlswrite" command, but, really ?, I have to run the code for hours again? Can anybody recoomend me an easy way using which I could get data files directly from the MATLAB figures ?
0 commentaires
Réponse acceptée
Arthur Roué
le 21 Août 2020
Modifié(e) : Arthur Roué
le 21 Août 2020
You can access data of a plot with the line handle. For instance :
% Current figure handle (or use openfig if you saved the figure in a FIG-File)
hFigure = gcf;
% Find line handle
hLines = findobj(gcf, 'Type', 'Line')
% Here are your data
hLines.XData
hLines.YData
In this example, I assume you have only one line in each plot.
Since R2019a, prefer writetable, writematrix, or writecell instead of xlswrite
11 commentaires
Arthur Roué
le 24 Août 2020
Here you go
% Current figure handle (or use openfig if you saved the figure in a FIG-File)
hFigure = gcf;
% Find lines handles
vhLines = findobj(gcf, 'Type', 'Line');
% X data, I assume it's the same for all lines (otherwise use interp1)
vX = vhLines(1).XData;
% All Y data
mY = vertcat(vhLines.YData)';
% All names
cNames = {vhLines.DisplayName};
% Cell to export
cToExport = [
't [s]', cNames; % Headers
num2cell([vX', mY])];
% Write into file
xlswrite('YourWorkbook.xlsx', cToExport, 'YourSheetName')
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Printing and Saving dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!