2017-08-05 45 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