How to convert MATLAB plots to xls (Excel) sheets ?
22 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Adnan Hayat
am 21 Aug. 2020
Kommentiert: Adnan Hayat
am 24 Aug. 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 Kommentare
Akzeptierte Antwort
Arthur Roué
am 21 Aug. 2020
Bearbeitet: Arthur Roué
am 21 Aug. 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 Kommentare
Arthur Roué
am 24 Aug. 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')
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Printing and Saving finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!