導入
ヒストグラムは、データの**分布(かたより)**を見るグラフです。「テストの点は何点あたりに集中しているか」「価格帯ごとの件数」などを把握します。
説明
plt.hist(data, bins=区間数) で、値をいくつかの区間に分け、各区間の個数を棒で表します。
import numpy as np
import matplotlib.pyplot as plt
# 平均70・標準偏差10 の点数を200人分、疑似的に生成
np.random.seed(0)
scores = np.random.normal(70, 10, 200)
plt.hist(scores, bins=15, color="skyblue", edgecolor="white")
plt.title("Score Distribution")
plt.xlabel("score")
plt.ylabel("count")
plt.show()
np.random.normal(70, 10, 200) は「平均70・ばらつき10」の値を200個作る命令です(seed を固定すると毎回同じ結果になります)。山が70あたりを中心にできていれば、多くの人が平均前後に集まっていると読めます。
bins(区間の数)を変えると、山の見え方が変わります。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
data = np.random.normal(50, 15, 300)
plt.hist(data, bins=5, color="salmon", edgecolor="white") # 粗い
plt.title("bins = 5")
plt.show()
やってみよう
bins=15 と bins=5 を切り替えて、分布の見え方の違いを確かめましょう。区間を細かくすると凸凹が、粗くするとおおまかな傾向が見えます。
演習
np.random.normal(0, 1, 500) で作った500個のデータを、bins=20 のヒストグラムにしてください。タイトルは "hist"。
ヒント1を見る
data = np.random.normal(0, 1, 500) → plt.hist(data, bins=20) → plt.title("hist") → plt.show()。