How to loop through columns on table and plot against first column?
30 views (last 30 days)
Show older comments
Nicola Fairbairn
on 24 Jan 2018
Commented: Dag Wang
on 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 Comments
Peter Perkins
on 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?
Accepted Answer
Walter Roberson
on 24 Jan 2018
plot(CoolingHeating.WaveNumber(2:12443), CoolingHeating{2:12443, 2:end});
3 Comments
Dag Wang
on 1 Oct 2020
To get legend with column names:
legend(CoolingHeating.Properties.VariableNames{2:end})
More Answers (0)
See Also
Categories
Find more on Data Distribution Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!