gpt4 book ai didi

python - 绘制包含列表作为值的字典的所有键(python)

转载 作者:行者123 更新时间:2023-12-04 18:00:15 25 4
gpt4 key购买 nike

在 python 2.7 中,我有一个大小可以变化的字典。对于每个键,Q1、Q2、Q3.... 我需要绘制字典值,这些值是包含日期和整数的列表。

{'Q1': [['20.03.2016', 25], ['21.03.2016', 35], ['22.03.2016', 22], ['23.03.2016
', 50], ['24.03.2016', 50], ['30.03.2016', 50], ['30.03.2016', 50]], 'Q3': [['20
.03.2016', 23], ['21.03.2016', 21], ['22.03.2016', 27], ['23.03.2016', 20], ['24
.03.2016', 20], ['30.03.2016', 20], ['30.03.2016', 20]], 'Q2': [['20.03.2016', 1
5], ['21.03.2016', 12], ['22.03.2016', 15], ['23.03.2016', 15], ['24.03.2016', 1
5], ['30.03.2016', 15], ['30.03.2016', 15]], 'Q5': [['20.03.2016', 320], ['21.03
.2016', 30], ['22.03.2016', 30], ['23.03.2016', 30], ['24.03.2016', 30], ['30.03
.2016', 30], ['30.03.2016', 30]], 'Q4': [['20.03.2016', 130], ['21.03.2016', 10]
, ['22.03.2016', 10], ['23.03.2016', 10], ['24.03.2016', 10], ['30.03.2016', 10]
, ['30.03.2016', 10]], 'Q7': [['23.03.2016', 5], ['24.03.2016', 5], ['30.03.2016
', 5], ['30.03.2016', 5]], 'Q9': [['30.03.2016', 17]], 'Q8': [['24.03.2016', 15]
, ['30.03.2016', 15], ['30.03.2016', 15]]}

如何在一个绘图窗口中绘制所有键,其中包含每个键的线条并按键名本身进行标记?每行都应进行颜色编码,并显示每个键的所有整数与日期数据点。所以 Q1 线将绘制第二列(整数)与第一列(日期)
['20.03.2016', 25], 
['21.03.2016', 35],
['22.03.2016', 22],
['23.03.2016', 50],
['24.03.2016', 50],
['30.03.2016', 50],
['30.03.2016', 50]

每行都可以进行颜色编码,并且在图例中应该有键的标签。我在 python 中使用 numpy 和 matplotlib 库。

最佳答案

我们可以简单地遍历字典项,然后使用 zip()解压缩值。 label= plot() 的关键字参数将使 legend()调用自动创建图例。

for key, data_list in data_dict.items():
dates_str, values = zip(*data_list) # Unpack
dates = convert_str_to_dates(dates_str) # Not handled in example
plt.plot(dates, values, label=key)
plt.legend()

要解决的是如何从字符串列表转换为 matplotlib 理解的某种日期对象。不过,这应该很容易在文档中找到。

编辑:使用 zip() 的技巧解压列表列表是其中一个“啊哈!”时刻对我来说:)

关于python - 绘制包含列表作为值的字典的所有键(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36313515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com