plot time in HH:MM ix x axis

70 visualizzazioni (ultimi 30 giorni)
Ron Amar
Ron Amar il 24 Gen 2022
Commentato: Ankit il 24 Gen 2022
Hi, I have 16000 sampled data. I want to plot it vs time in HH:mm format (ex 15:33)
I know when the first data point was taken (12:33:00) and I sampled 1 per 10 seconds.
I cant figure out how to do this

Risposta accettata

Ankit
Ankit il 24 Gen 2022
You need to change the format using datetick.
date={'15:10:34.600 AM 2/26/2017','15:20:34.700 AM 2/26/2017','15:30:34.800 AM 2/26/2017','15:40:34.900 AM 2/26/2017'};
timeFormat='HH:MM:SS.FFF AM mm/dd/yyyy';
xdatenum=datenum(date,timeFormat);
data=0:3;
plot(xdatenum,data,'*');
datetick('x','HH:MM');
  6 Commenti
Steven Lord
Steven Lord il 24 Gen 2022
Instead of using a datetime, which requires date information, I'd use a duration array to plot this data.
t = duration(15, 33, 1:100:5000);
x = randn(50, 1);
plot(t, x)
xlim(t([1 end]))
Change the Format of the duration array to change how it is displayed as labels.
t = duration(15, 33, 1:100:5000, 'Format', 'hh:mm'); % no second data
x = randn(50, 1);
plot(t, x)
xlim(t([1 end]))
Ankit
Ankit il 24 Gen 2022
@Steven Lord thanks for your suggestion. now I know one more way to achieve this :)

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by