如何使用matplotlib从字典中绘制水平条形图?

时间:2016-10-24 17:08:58

标签: python matplotlib

我正在使用:

plt.bar(range(len(d)), d.values(), align='center')
plt.yticks(range(len(d)), d.keys())
plt.xlabel('frequency', fontsize=18)
plt.ylabel('keywords', fontsize=18)

plt.show()

我收到以下输出: enter image description here

但是我希望在y轴上显示每个关键字的相应条形,而不是x轴。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

使用matplotlib的barh()函数将为您创建一个水平条形图:

plt.barh(range(len(d)), d.values(), align='center')

来自文档:

  

matplotlib.pyplot.barh(bottom, width, height=0.8, left=None, hold=None, **kwargs)

     

制作一个带有矩形的水平条形图:

     

left, left + width, bottom, bottom + height

     

(左,右,下和上边缘)

     

底部,宽度,高度和左边可以是标量或   序列

另请参阅matplotlib图库页面here上的barh演示

答案 1 :(得分:0)

使用plt.barh()而不是使用垂直条形图功能。