我正在尝试绘制直方图。这个直方图的数据来自一个包含频率列表的字典,我只需要绘制:
直方图或,
每个元素值的条形图(直方图可以从这里得出:))
以下是字典的示例:
{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}
非常感谢。
答案 0 :(得分:4)
您可以使用pandas
:
import pandas as pd
df = pd.DataFrame([your_dict])
df = df.T
df.hist()
注意,your_dict
应该在列表中。
答案 1 :(得分:0)
不使用pandas
的另一种方法:
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)