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

 Réponse acceptée

Ankit
Ankit le 24 Jan 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 commentaires

Ron Amar
Ron Amar le 24 Jan 2022
oh great thanks.
just 1 more question - this 'date' string vector I have to manually make? how do i genarate it?
Ankit
Ankit le 24 Jan 2022
Modifié(e) : Ankit le 24 Jan 2022
You can use datetime Arrays to represent dates and times. I edited the code a bit as per your request. Please refer this link to know more: Arrays that represent points in time - MATLAB - MathWorks Deutschland
t = datetime(0,0,0,15,33,1:100:5000); % Y,M,D,HH,MM,SS, sampling 1 per 10s
x = randn(50, 1);
plot(t, x)
datetick('x', 'HH:MM')
xlim(t([1 end]))
Ron Amar
Ron Amar le 24 Jan 2022
you're the best Ankit thank you so much!
Ankit
Ankit le 24 Jan 2022
Hi @Ron Amar if it works could you please accept the answer! Thanks
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 le 24 Jan 2022
@Steven Lord thanks for your suggestion. now I know one more way to achieve this :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graphics Performance dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by