How to loop through columns on table and plot against first column?
31 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Nicola Fairbairn
le 24 Jan 2018
Commenté : Dag Wang
le 1 Oct 2020
Okay so I'm massive amounts of data from a spectrometer and I'm wanting to plot multiple scans one on top of the other.
I have one excel file of 113 columns and 12,443 rows called CoolingHeating. The first column is called "WaveNumber" and I want this as my x axis. The other 112 columns are all scans and generically called VarName2 up to VarName113. I want each VarName column to be plotted against the x axis WaveNumber in the same plot, one on top of the other to create a continuum. The idea is that there should be 112 lines on the plot. I'm really, really rusty at programming and know it involves a For loop but I'm not 100% sure how to go about doing it.
So far all I have is:
plot(CoolingHeating.WaveNumber(2:12443),CoolingHeating.VarName2(2:12443));
which simply gives me the first scan. How do I add the other 111 columns in? I suspect xlsread might be required but I'm not sure.
2 commentaires
Peter Perkins
le 24 Jan 2018
This is a table, as in the data type, right? What's in the first row that you need to skip it? Did you read the spreadsheet with readtable, and 'ReadVariableNames' set to true?
Réponse acceptée
Walter Roberson
le 24 Jan 2018
plot(CoolingHeating.WaveNumber(2:12443), CoolingHeating{2:12443, 2:end});
3 commentaires
Dag Wang
le 1 Oct 2020
To get legend with column names:
legend(CoolingHeating.Properties.VariableNames{2:end})
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Data Distribution Plots 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!