11

matplotlib で累積ヒストグラムを逆にする (より良い) トリックがあるかどうか疑問に思っています。

0.0 から 1.0 の範囲のスコアがあり、1.0 が最高のスコアであるとします。ここで、特定のスコアしきい値を超えるサンプル数をプロットすることに興味があります。

import numpy as np
import matplotlib.pyplot as plt

d = np.random.normal(size=1000)
d = (d - d.min()) / (d.max() - d.min())

plt.hist(d, 50, histtype="stepfilled", alpha=.7)

ここに画像の説明を入力

デフォルトでは、matplotlib は「サンプル数 <= スコア」のように累積ヒストグラムをプロットします。

plt.hist(d, 50, histtype="stepfilled", alpha=.7, cumulative=True)

ここに画像の説明を入力

私が本当に欲しいのは、累積ヒストグラムが「サンプル数<=スコア」ではなく「サンプル数>=スコア」を表示することです

このようにすることもできますが、x 軸の「マイナス」記号を取り除くにはどうすればよいでしょうか。

plt.hist(d-1, 50, histtype="stepfilled", alpha=.7, cumulative=True)

ここに画像の説明を入力

より良いアイデアはありますか?

4

1 に答える 1

19

cumulative=-1関数呼び出しで使用できることを確認してください:

plt.hist(d, 50, histtype="stepfilled", alpha=.7, cumulative=-1)

matplotlib hist() ドキュメントから:

累積が 0 未満 (-1 など) に評価される場合、累積の方向が逆になります。

ここで3 番目のサンプル画像を見てください。私はそれがあなたが望むことをすると思います。

于 2015-03-05T23:45:27.657 に答える