绘制存储在字典中的数据



我已经将数据写入字典,字典的形式如下:

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

共有200个地点ID和日期,涵盖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}

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

如有任何反馈,我们将不胜感激。

感谢

这取决于您的绘图库所期望的内容,但与其使用for循环将日期和值写入列表,不如只调用keys()和values()方法,这两个方法都将分别返回键和值的列表。如果您的打印库的工作方式与matplotlib类似,并且需要x值列表和y值列表,那么您可以执行以下操作:

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

最新更新