使用matplotlib创建时间序列直方图

使用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,

我有一个带有时间戳的数据点的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,
      "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来处理它,但是我如何将这些更改应用到所有数据点?我怀疑需要一个迭代循环,但我不知道如何继续。再次感谢!我建议您使用列表理解来提取它。请参阅