使用matplotlib创建时间序列直方图
我有一个带有时间戳的数据点的json文件,需要一个显示单位时间内数据点数量的柱状图。数据格式如下:使用matplotlib创建时间序列直方图,matplotlib,histogram,Matplotlib,Histogram,我有一个带有时间戳的数据点的json文件,需要一个显示单位时间内数据点数量的柱状图。数据格式如下: database = { "data": [ { "timestamp": "Mon Aug 01 00:00:01 +0000 1901", "user": 796327373691985921, "text": "blah blah there were no tweets in 1901!?!", "polarity": 0.2,
database = {
"data": [
{
"timestamp": "Mon Aug 01 00:00:01 +0000 1901",
"user": 796327373691985921,
"text": "blah blah there were no tweets in 1901!?!",
"polarity": 0.2,
"subjectivity": 0.2
},
{
"timestamp": "Mon Aug 01 00:00:10 +0000 1901",
"user": 16548385,
"text": "blah blah blah"
"polarity": 0.0,
"subjectivity": 0.0
}
]
}
等
我在从字典中选择时间戳项时遇到问题。例如,当我运行这个:print(数据库[“data”][0][“timestamp”])时,它会给我一个数据点的时间戳,但我如何根据时间戳将所有推文组织到时间桶中?我怀疑需要一个迭代循环,但我不知道如何继续。再次感谢!1)将时间戳转换为一天开始后的秒数(可能使用datetime.timedelta
2) 现在,创建具有固定箱边的直方图:
edges = list(range(0, 24 * 3600, 3600))
plt.hist(data, edges)
这可能对你有帮助。谢谢你的帮助。我在从字典中选择时间戳项时遇到问题。例如,当我运行以下命令时:print(数据库[“数据”][0][“时间戳”],它为我提供了一个数据点的时间戳,我可以使用datetime.timedelta来处理它,但是我如何将这些更改应用到所有数据点?我怀疑需要一个迭代循环,但我不知道如何继续。再次感谢!我建议您使用列表理解来提取它。请参阅