1. ホーム
  2. python

[解決済み] 辞書からヒストグラムをプロットする

2022-03-12 01:56:46

質問

を作成しました。 dictionary の出現回数をカウントするものです。 list のヒストグラムをプロットしたいと思います。

これがプロットしたい辞書の内容です。

{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     # gives histogram aspect to the bar diagram

ax = plt.axes()
ax.set_xticks(pos + (width / 2))
ax.set_xticklabels(myDictionary.keys())

plt.bar(myDictionary.keys(), ******, width, color='g')
#                            ^^^^^^ what should I put here?
plt.show()

を単純に実行してみました。

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

が、このような結果になりました。

と、3本の棒がずれている理由がわからないのと、ヒストグラムを順番に表示させたいのです。

誰か方法を教えてください。

どのように解決するのですか?

このようにヒストグラムをプロットする機能を利用することができます。

a = np.random.random_integers(0,10,20) #example list of values
plt.hist(a)
plt.show()

または myDictionary このように

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