Plot DateTime vector as elapsed time in seconds from start of meaurement

12 views (last 30 days)
Hi, I have a datetime vector in HH:mm:ss.SSS format corresponding to measurements from a wave gauge. I want to plot the data in a figure with the time being in seconds from the start of the recording, so the x-axis labels appear as 0,1,2,3,4,5.... in seconds, as opposed to 00:00:00, 00:00:30, 00:01:00...
I have used the datenum to create serial dates and datetick when plotting the figure but this results in the HH:mm:ss format which I don't want.
Thanks!

Accepted Answer

Benjamin Kraus
Benjamin Kraus on 5 Mar 2018
It sounds like you want to plot duration values. Let's say that t is your vector of datetime values. You can convert those to duration values by subtracting:
t = datetime('now')+minutes(0:0.5:10);
d = t-t(1); % Convert to duration since start of experiment.
d.Format = 's'; % Specify that you want to see seconds in the display.
Once you've converted, you can either plot the values directly:
plot(d, 1:21)
Or you can explicitly convert to seconds before plotting:
plot(seconds(d), 1:21)
xlabel('seconds')

More Answers (1)

KSSV
KSSV on 5 Mar 2018

Categories

Find more on Dates and Time in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!