plot histogram of datetime.time python / matplotlib
13,752
I did what David Zwicker said and used seconds, and then changed the x axis. I will look at what Dave said about 'bins'. This works roughly and gives a bar per hour plot to start with.
def chart(occurance_list):
hour_list = [t.hour for t in occurance_list]
print hour_list
numbers=[x for x in xrange(0,24)]
labels=map(lambda x: str(x), numbers)
plt.xticks(numbers, labels)
plt.xlim(0,24)
plt.hist(hour_list)
plt.show()
Author by
Spacen Jasset
Updated on June 15, 2022Comments
-
Spacen Jasset about 2 years
I am trying to plot a histogram of datetime.time values. Where these values are discretized into five minute slices. The data looks like this, in a list:
['17:15:00', '18:20:00', '17:15:00', '13:10:00', '17:45:00', '18:20:00']
I would like to plot a histogram, or some form of distribution graph so that the number of occurrences of each time can be examined easily.
NB. Given each time is discretised then. The maximum number of bins in a histogram would be 288 = (60 / 5 * 24)
I have looked at matplotlib.pyplot.hist. But is requires some sort of continuous scalar
-
Spacen Jasset over 12 yearsAccept: what David Zwicker and @Dave said
-
Marses about 3 yearsit is interesting that matplotlib doesn't treat this more cleanly. matplotlib has perfectly good functionality for datetimes, but for some reason
matplotlib
andpandas
don't want to treat clock times like numbers (also in the sense of adding/subtracting etc...).