MATLAB: How to plot from table

data importplot graph

Hello! I already got an answer how to add time column to existing textfile with measurement data in it.
DATA.TXT
1,6
5,7
1,7
5,3
I know what time the measurement started and the measurement frequency but not the ending time. So used these commands:
datetime.setDefaultFormats('default','dd-MM-yyyy HH:mm:ss:SS')
M = dlmread('DATA.TXT');
T_out = timetable(datetime(2017,1,1,13,0,.25*(0:size(M,1)-1)'),M);
T = timetable2table(T_out)
T.Properties.VariableNames = {'Date_Time' 'Measured_value'}
writetable(T,'DATA_TIME.TXT','Delimiter',';');
And the result is DATA_TIME.TXT
Date_Time;Measured_value_1;Measured_value_2
01-01-2017 13:00:00:00;1;6
01-01-2017 13:00:00:25;5;7
01-01-2017 13:00:00:50;1;7
01-01-2017 13:00:00:75;5;3
I would like to plot this data against time (Date vs Measured_value_1; Date vs Measured_value_2). And is it possible to change the time axis to just DAYS in case I have measurement data for one year? How to accomplish this?

Best Answer

Going to a lot of trouble that doesn't seem needed in writing stuff out to files instead of just using the in-memory data directly...
datetime.setDefaultFormats('default','dd-MM-yyyy HH:mm:ss:SS')
M = dlmread('DATA.TXT');
T=datetime(2017,1,1,13,0,.25*(0:size(M,1)-1)'); % build the time vector
T=table(T,M); % put into table
T.Properties.VariableNames = {'Time' 'MV'} % some concise variable names
plot(T.Time,T.MV) % plot the data values vs time
As for the latter question of longer times; you can modify the axes at will; if you plot a long data series plot will automagically fixup ticks/ticklabels to fit the space so you may need to do nothing.