绘制存储在词典中的数据

时间:2015-02-08 22:39:37

标签: python dictionary plot time-series

我写入字典的数据有以下形式:

observed [place_id][date][time] = value_observed

simulated [place_id][date][time] = value_simulated

总共有200个place_ids和日期涵盖1年(365天),每个日期(或日期)涵盖24小时的数据,如下所示为一天的一个网站:

observed ['11A346']['2009-08-07']{'19:00': 0.031125, '12:00': 0.028375, '06:00': 0.022249999999999995, '00:00': 0.03425, '23:00': 0.027749999999999997, '05:00': 0.023624999999999997, '11:00': 0.027125, '14:00': 0.031375, '04:00': 0.025124999999999998, '09:00': 0.022375000000000003, '03:00': 0.0265, '18:00': 0.0315, '01:00': 0.033125, '21:00': 0.029124999999999998, '15:00': 0.032625, '22:00': 0.028374999999999997, '08:00': 0.022, '16:00': 0.03275, '02:00': 0.031375, '13:00': 0.030000000000000002, '20:00': 0.03025, '07:00': 0.021749999999999995, '17:00': 0.032125, '10:00': 0.023125}

我希望绘制"观察到的"的时间序列。和"模拟"每小时的数据匹配,以及选定的天数子集。现在我正在通过for循环将数据写入列表并将日期记录到另一个列表并绘制这些列表。有没有其他方法可以更容易地做到这一点,即直接从词典中绘图?

感谢任何反馈。

由于

1 个答案:

答案 0 :(得分:0)

这取决于你的绘图库所期望的,而不是使用for循环将日期和值写入列表,你应该只调用keys()和values()方法,它们都将返回键列表和价值分别。如果您的绘图库像matplotlib一样工作并且需要一个x值列表和一个y值列表,那么您可以执行以下操作:

d = observed['11A346']['2009-08-07']
plt.plot(d.keys(), d.values())