鉴于dict.items()看起来像这样:
('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')
我以前从来没有用每个键绘制多个值的dict,我似乎无法弄明白。
答案 0 :(得分:0)
您可以使用
将new_value
追加到d['e']
d['e'].append(new_value)
考虑时的逻辑。可以使用
获取单个值列表list1 = [x[0] for x in d.values()]
list2 = [x[1] for x in d.values()]
答案 1 :(得分:0)
以下是使用Pandas的一种方法:
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)
现在转换为Pandas数据框和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")