Creating histogram from a datetime vector

Hello guys!
I was trying to plot a datetime arrangement (vector) in a 12-hour histogram.
The problem is that when I try to plot it, it considers the whole date (since each element has a dd-MM-yy HH:mm:ss format), so I was wondering if is possible to isolate the hour in order to get an histogram that shows the hourly frecuency in a single day (only considering the hour). Another option I was considering is transforming the HH element into another data type easier to plot, but once again, I am not sure how to do it.
Thank you in advance,
Carlos.

 Akzeptierte Antwort

Star Strider
Star Strider am 30 Dez. 2020

1 Stimme

I am not certain what your data are or the actual result you want.
Try this:
DT = datetime('now')+hours(0:72).'; % Create ‘datetime’ Array
T1 = table(DT, rand(size(DT))); % Create Table With Data
[UCol1,~,ix] = unique(mod(hour(T1{:,1}),12)); % Unique Values & Indices
Tally = accumarray(ix, T1{:,2}); % Counts
figure
bar(UCol1, Tally)
grid
.

2 Kommentare

Carlos Armas
Carlos Armas am 30 Dez. 2020
Thank you! it completely solved my problem.
Star Strider
Star Strider am 30 Dez. 2020
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Steven Lord
Steven Lord am 30 Dez. 2020
rightNow = datetime('now')
rightNow = datetime
30-Dec-2020 19:10:28
howLongSinceMidnight = timeofday(rightNow)
howLongSinceMidnight = duration
19:10:28

Community Treasure Hunt

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

Start Hunting!

Translated by