2017-08-05 47 views
0

鑑於dict.items多個值()是這個樣子:Matplotlib - 從詞典複式條形圖,每個鍵

('a', [11, 10]) 
('b', [10, 11]) 
('c', [7, 6]) 
('d', [5, 5]) 
('e', [21]) 

首先,我怎麼能追加第二值,以「E」這樣的長度符合其他?

其次,忽略e的長度問題,我怎麼可以用標籤的關鍵字對值進行聚集的條形圖。

好像我願意打破值到列表和繪製

ax.bar(len(d.keys()), list1, width='0.5', color='r') 
ax.bar(len(d.keys()), list2, width='0.5', color='r') 

我從來沒有陰謀與之前每個鍵多個值的字典,我似乎無法弄清楚。

回答

0

您可以附加new_valued['e']

d['e'].append(new_value) 

邏輯時,你想想看。個體值列表可以用

list1 = [x[0] for x in d.values()] 
list2 = [x[1] for x in d.values()] 
0

獲得這裏有一個方法,使用熊貓:

import pandas as pd 
data = dict([('a', [11, 10]), ('b', [10, 11]), 
      ('c', [7, 6]), ('d', [5, 5]), 
      ('e', [21])]) 

holdenweb的回答是好附加到一個字典條目:

# add to e 
new_value = 22 
data['e'].append(new_value) 

現在轉換成熊貓數據幀和plot()

# convert to data frame 
# .T transposes letter categories to the x-axis 
df = pd.DataFrame(data).T 

# plot grouped bar chart 
df.plot(kind="bar") 

bar plot