从Python中的字典值绘制直方图

从Python中的字典值绘制直方图,python,dictionary,plot,Python,Dictionary,Plot,我想画一个直方图。这个直方图的数据来自一个包含频率列表的字典,我所需要的就是绘制: 直方图或 每个元素值的条形图(柱状图可从此处导出:) 下面是一个字典的示例: {0: 282, 1: 152, 2: 131, 3: 122, 4: 108, 5: 101, 6: 106, 7: 91, 8: 96, 9: 92, ... 1147: 1, 1157: 1, 1186: 1, 1217: 1, 1236: 1, 1251: 1, 1255: 1, 1291: 1, 1372: 1, 1402

我想画一个直方图。这个直方图的数据来自一个包含频率列表的字典,我所需要的就是绘制:

  • 直方图或

  • 每个元素值的条形图(柱状图可从此处导出:)

下面是一个字典的示例:

{0: 282, 1: 152, 2: 131, 3: 122, 4: 108, 5: 101, 6: 106, 7: 91, 8: 96, 9: 92,
...
1147: 1, 1157: 1, 1186: 1, 1217: 1, 1236: 1, 1251: 1, 1255: 1, 1291: 1, 1372: 1, 1402: 1}

非常感谢。

您可以使用
pandas
快速完成此操作:

import pandas as pd

df = pd.DataFrame([your_dict])
df = df.T
df.hist()

注意,
你的指令应该在一个列表中。

另一种不使用
的方式 :

h = [v for v in your_dict.values()]
plt.hist(h)
这允许轻松过滤和修改,例如

h = [np.log(v) for v in your_dict.values() if v>0]
plt.hist(v)

您可以使用python库mathplotlib()或将所有内容写入一个文件,然后使用gnuplot或R来绘制该文件