問題の背景
二つの母集団のヒストグラムを比較する際に二つのグラフを交互に目視で比較するよりも、いっそ重ねてしまえば見やすいんじゃねと思い試してみました。
流れ
手順としては、
①度数分布表を作成
②ヒストグラムを出力
という流れです。
①で度数分布表を作成する理由は、比較する二つの母集団の大きさが異なる場合重ねて表示して単純に比較する事ができないからです。
例えば男性が1000人、女性が100人というデータでヒストグラムをそれぞれ重ねてしまうと以下のグラフのように女性のヒストグラムが小さくなってしまい重ねて表示する意義が失われてしまうので注意が必要。
コード
import matplotlib.pyplot as plt
x = [x for x in range(12,47,2)]
y_male = [0,0,0,2,4,12,18,29,16,13,4,2,0,0,0,0,0,0]
y_female = [0,0,0,0,0,0,1,5,9,16,32,19,12,4,2,0,0,0]
p_male = plt.bar(x, y_male, width=2, color="blue", edgecolor="black", alpha=0.3)
p_female = plt.bar(x, y_female, width=2, color="red", edgecolor="black", alpha=0.3)
plt.title('A値のヒストグラム',fontsize=18)
plt.xlabel("A値", fontsize=18)
plt.ylabel("相対度数(%)", fontsize=18)
plt.legend((p_male[0], p_female[0]), ("男性", "女性"), loc='upper right', ncol=2, fontsize=8)
plt.grid(axis="y")
plt.show()
このコードを実行した結果が以下のグラフ