![](/img/trans.png)
[英]How to find all keys within a dictionary which contains only ALL values from a list
[英]plotting all keys of a dictionary which contains list as values (python)
在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()
解壓縮值。 plot()
的label=
關鍵字參數將使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()
解壓縮列表列表的技巧對我來說就是那些“啊哈!”時刻之一:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.