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

22 visualizzazioni (ultimi 30 giorni)
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!

Risposta accettata

Benjamin Kraus
Benjamin Kraus il 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')

Più risposte (1)

KSSV
KSSV il 5 Mar 2018

Categorie

Scopri di più su Dates and Time in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by