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.

 採用された回答

Star Strider
Star Strider 2020 年 12 月 30 日

1 投票

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 件のコメント

Carlos Armas
Carlos Armas 2020 年 12 月 30 日
Thank you! it completely solved my problem.
Star Strider
Star Strider 2020 年 12 月 30 日
As always, my pleasure!

サインインしてコメントする。

その他の回答 (1 件)

Steven Lord
Steven Lord 2020 年 12 月 30 日

1 投票

rightNow = datetime('now')
rightNow = datetime
30-Dec-2020 19:10:28
howLongSinceMidnight = timeofday(rightNow)
howLongSinceMidnight = duration
19:10:28

カテゴリ

質問済み:

2020 年 12 月 30 日

回答済み:

2020 年 12 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by