以下是一个示例代码,用于将记录计数按每天的小时进行分桶,并在轴上显示小时,即使没有记录。
import matplotlib.pyplot as plt
# 假设这是记录计数的示例数据
record_counts = {
'2021-01-01 12:00': 5,
'2021-01-01 14:00': 10,
'2021-01-01 16:00': 15,
'2021-01-02 10:00': 8,
'2021-01-02 14:00': 12,
'2021-01-02 18:00': 20
}
# 生成每天的小时列表
hours = [str(i).zfill(2) + ':00' for i in range(24)]
# 初始化每个小时的计数列表
hourly_counts = [0] * 24
# 将记录计数分桶到每个小时
for record_time, count in record_counts.items():
hour = int(record_time.split()[1].split(':')[0])
hourly_counts[hour] += count
# 绘制柱状图
plt.bar(range(24), hourly_counts)
# 设置x轴标签为小时
plt.xticks(range(24), hours)
# 显示图形
plt.show()
这段代码首先定义了一个示例的记录计数字典record_counts
,其中键是记录的时间,值是计数。
然后,通过生成包含每天的小时列表的hours
,以及初始化长度为24的hourly_counts
列表来准备将记录计数分桶的操作。
接下来,通过遍历record_counts
字典中的每个记录时间,从中提取小时,并将对应的计数加到hourly_counts
列表的相应位置。
最后,使用plt.bar()
函数绘制柱状图,并使用plt.xticks()
函数设置x轴标签为小时。最后通过plt.show()
显示图形。
上一篇:按每天的列方向显示数据。