从字典中绘制直方图

12 浏览
0 Comments

从字典中绘制直方图

我创建了一个字典来统计列表中每个键的出现次数,现在我想要绘制其内容的直方图。

这是我想要绘制的字典的内容:

{1: 27, 34: 1, 3: 72, 4: 62, 5: 33, 6: 36, 7: 20, 8: 12, 9: 9, 10: 6, 11: 5, 12: 8, 2: 74, 14: 4, 15: 3, 16: 1, 17: 1, 18: 1, 19: 1, 21: 1, 27: 2}

到目前为止,我写了以下代码:

import numpy as np
import matplotlib.pyplot as plt
pos = np.arange(len(myDictionary.keys()))
width = 1.0     # 为柱状图设置宽度
ax = plt.axes()
ax.set_xticks(pos + (width / 2))
ax.set_xticklabels(myDictionary.keys())
plt.bar(myDictionary.keys(), ******, width, color='g')
#                            ^^^^^^ 在这里应该放什么?
plt.show()

我尝试了简单地这样做:

plt.bar(myDictionary.keys(), myDictionary, width, color='g')

但结果如下:

enter image description here

我不知道为什么这三个柱状图被偏移了,而且我希望直方图能按顺序显示。

有人可以告诉我如何做吗?

0