これが私の問題です。「デジタル化された」PDFを取得するためにビニングしたデータがいくつかありますが、それで問題ありません。ここで、ビングループの色を変えることで、異なる信頼区間を示す方法を見つけたいと思いました。特に、私が見つけたいと思った最大の数を含むビンから始めて、面積の合計が0.6未満であるすべての最も高いビンを赤と言います。次に、常にカウントを減らして新しいビンを選択します。赤い領域を0.8に増やすビンにオレンジ色を付けます。numpyを使用してビンとカウントを取得し、それらを3つのシリーズ(赤、オレンジ、元の色)に分類し、pyplotのバーでプロットすることを検討していました。あなたがより速い方法を指摘できることを願っています、ありがとう!
3892 次
1 に答える
6
私があなたの質問を正しく理解していれば、以下のコードはあなたが提案していることを実行すると思います。あなたが考えていたアプローチとは少し違うようで、より効率的かどうかはわかりません。とにかく、それは通常、他の誰かが何かをする方法を見るのに役立ちます。これは、変数「bins」で表されるビンと変数「binwidth」で表されるビン幅を持つ、すでに生成されたpdf(ヒストグラム)を想定しています。
gray = (.5,.5,.5)
orange = (1.0, 0.647, 0.0)
red = (1.0, 0.0, 0.0)
clrs = [gray for xx in bins]
idxs = pdf.argsort()
idxs = idxs[::-1]
oranges = idxs[(cumsum(pdf[idxs])*binwidth < 0.8).nonzero()]
reds = idxs[(cumsum(pdf[idxs])*binwidth < 0.6).nonzero()]
for idx in oranges:
clrs[idx] = orange
for idx in reds:
clrs[idx] = red
bar(left=bins,height=pdf,width=binwidth,color=clrs)
于 2011-06-02T16:38:00.773 に答える