1. ホーム
  2. python

[解決済み] matplotlib/pandas で、ヒストグラムの Y 軸をパーセンテージにするパラメータはありますか?

2022-02-19 01:54:54

質問

2つのヒストグラムを比較したいのですが、Y軸に絶対値ではなく、データセット全体のサイズに対する各列のパーセンテージを表示させたいです。それは可能でしょうか?私はPandasとmatplotlibを使用しています。 ありがとうございます。

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

その density=True ( normed=True に対して matplotlib < 2.2.0 ) のヒストグラムを返します. np.sum(pdf * np.diff(bins)) は1に等しい。ヒストグラムの合計を1にしたい場合は,Numpyのhistogram()を使って,自分で正規化することができます.

x = np.random.randn(30)

fig, ax = plt.subplots(1,2, figsize=(10,4))

ax[0].hist(x, density=True, color='grey')

hist, bins = np.histogram(x)
ax[1].bar(bins[:-1], hist.astype(np.float32) / hist.sum(), width=(bins[1]-bins[0]), color='grey')

ax[0].set_title('normed=True')
ax[1].set_title('hist = hist / hist.sum()')

<イグ

Btw: 左側のプロットの最初のビンで奇妙なプロットの不具合が発生しました。