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

时间:2018-07-27 01:28:21

标签: 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,
      "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(database [“ data”] [0] [“ timestamp”]时,它为我提供了一个数据点的时间戳,但是如何根据时间戳将所有tweet组织到时间段中?我怀疑需要迭代循环,但是我不知道该如何进行。再次感谢您!

1 个答案:

答案 0 :(得分:0)

1)将时间戳记从一天开始算起转换为秒(也许使用datetime.timedelta)。

2)现在,创建具有固定bin边缘的直方图:

edges = list(range(0, 24 * 3600, 3600))
plt.hist(data, edges)