1

さまざまなバーがさまざまな色であるヒストグラムを作成しようとしていました。すべてを実行するためのスクリプトを提供するこのページを見つけてうれしく思いました。問題が 1 つだけあります。通常の Matplotlib ヒストグラムに「cumulative=True」を追加することでできるように、累積ヒストグラムをサポートしていないようです。このファイルを変更して、累積的な多色のヒストグラムをプロットできるようにする方法を誰か教えてもらえますか? どうもありがとう、アレックス

編集:私が最善の解決策だと思うのは、次のような関数をヒストグラムクラスに追加することです:

def make_cumulative(self):
  self.occurrences = np.cumsum(self.occurrences)

しかし、どのオカレンスが保存されているのか、あるいはそれをそのようにパラメーターと考えることが理にかなっているのかもわかりません。

4

1 に答える 1

2

解決策は非常に単純で、後から考えると明らかでした。ヒストグラム オブジェクトは、各ビンの出現回数の単なる配列であるため、ヒストグラム自体の累積値をとっただけです。

だから基本的に

import histogram, numpy 
y = range(0, 100) #Except I used real data
Hist = histogram(y, bins=100, range=[0,100])
colors = ['red', 'blue', 'green', ]
ranges = [[0,30], [30,31], [31,100]]
fig = pyplot.figure(figsize=(8,6))
ax, plt, _ = fig.plothist(Hist, alpha=0) # plot for spacing
for c, r in zip(colors, ranges):
    plt = ax.overlay(Hist, range=r, facecolor=c)
print y

CumulativeHist = numpy.cumsum(h6)
colors = ['red', 'blue', 'green', ]
ranges = [[0,30], [30,31], [31,100]]
fig = pyplot.figure(figsize=(8,6))
ax, plt, _ = fig.plothist(CumulativeHist, alpha=0) # plot for spacing
for c, r in zip(colors, ranges):
    plt = ax.overlay(CumulativeHist, range=r, facecolor=c)

pyplot.show()

2 つのプロットを作成します。2 番目は 2 番目の累積バージョンです。助けてくれてありがとう。

アレックス

于 2013-03-08T03:00:12.400 に答える