How to loop through columns on table and plot against first column?
    23 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 Annotations 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!



