字典值作为matplotlib中的列标签

时间:2016-06-30 18:23:45

标签: python dictionary matplotlib

我有以下dict

packetsNeeded = { u'hydrogen': 150,
                  u'helium': 143,
                  u'lithium': 122}

我正在使用 matplotlib 为每个键和上面字典的值绘制条形图。我已设法使用以下代码绘制条形图:

import matplotlib.pyplot as pplot

pplot.bar(range(len(packetsNeeded)), packetsNeeded.values(),
         width = 0.75, align = 'center')
pplot.xticks(range(len(packetsNeeded)), packetsNeeded.keys())

pplot.xlabel("X label")
pplot.ylabel("Y label")
pplot.title("title here")
pplot.show()

我可以将 X-Axis 显示为字典中提到的键,但我希望垂直条形图显示每个栏上字典的值。

我试过

pplot.yticks(range(len(packetsNeeded), packets.needed.values())

但情节如下: yticks messes the y axis up!!

在dict的列上显示标签的正确方法是什么

我尝试了以下内容:

for a, b in zip( key(), value()):
    pplot.text(a, b, str(b))

但我遇到了问题

1 个答案:

答案 0 :(得分:1)

也许你的意思是

for key, x in zip(packetsNeeded.keys(), range(len(packetsNeeded))): 
    pplot.text(x, packetsNeeded[key], packetsNeeded[key])