Make histogram for array of datetimes

9 vues (au cours des 30 derniers jours)
dormant
dormant le 16 Mai 2024
Commenté : dormant le 16 Mai 2024
I have a datetime array:
trigDatetime =
1273×1 datetime array
2024-04-30 01:15:34
2024-04-30 01:19:27
2024-04-30 02:20:49
2024-04-30 03:48:50
2024-04-30 03:49:49
How can I calculate the frequency of occurence between two dates for a bin width of an integer number of hours (1, 2, 3, 4, 6 or 12)?

Réponse acceptée

Steven Lord
Steven Lord le 16 Mai 2024
Let's make some sample dates and times.
n = 10;
T = datetime('today');
d = T + ...
hours(randi([-24, 24], n, 1)) + ...
minutes(randi(60, n, 1)) + ...
seconds(randi(60, n, 1))
d = 10x1 datetime array
15-May-2024 13:09:38 16-May-2024 01:12:13 16-May-2024 21:27:33 15-May-2024 17:34:09 15-May-2024 12:54:39 16-May-2024 18:39:16 16-May-2024 20:18:13 16-May-2024 21:40:51 15-May-2024 14:15:30 16-May-2024 09:22:37
Now make a histogram.
histogram(d, BinWidth = hours(1))
By default this isn't going to show enough ticks on the X axis for my taste. This adds a few more.
xticks(T + hours(-24:4:24))
If you just want the counts, not the pictures, see histcounts.
  1 commentaire
dormant
dormant le 16 Mai 2024
Brilliant, thanks.

Connectez-vous pour commenter.

Plus de réponses (1)

William Rose
William Rose le 16 Mai 2024
@dormant, I am switching my comment to be an answer which is what I had intended.
First, let's create an array of 1273 random date times in the first week of April:
dt0=datetime(['1-Apr-2024']); % start time
D=duration(0,0,60*60*24*7*rand(1273,1)); % 1273 random durations up to 1 week
dt=dt0+D; % random date times startng at dt0
fprintf ('Datetime range: %s to %s.\n',min(dt),max(dt))
Datetime range: 01-Apr-2024 00:06:04 to 07-Apr-2024 23:58:53.
Now make a histogram with 12 hour bin width
histogram(dt,BinWidth=duration(12,0,0))
You can adjust for bin width=1, 3, 6 hours. Good luck.

Catégories

En savoir plus sur Data Distribution Plots dans Help Center et File Exchange

Produits


Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by