1

ndarray に格納されているデータのヒストグラムを作成しようとしています。ヒストグラムは、Python プログラムのクラスに作成した一連の分析の一部です。動作していないコードの部分は次のとおりです。

def histogram(self, iters):
    samples = T.MCMC(iters) #Returns an [iters,3,4] ndarray
    histAC = plt.figure(self.ip) #plt is matplotlib's pyplot
    self.ip+=1 #defined at the beginning of the class to start at 0
    for l in range(0,4):
        h = histAC.add_subplot(2,(iters+1)/2,l+1)
        for i in range(0,0.5*self.chan_num):
            intAvg = mean(samples[:,i,l])
            print intAvg
            for k in range(0,iters):
                samples[k,i,l]=samples[k,i,l]-intAvg
            print "Samples is ",samples
            h.hist(samples,bins=5000,range=[-6e-9,6e-9],histtype='step')     
            h.legend(loc='upper right')
            h.set_title("AC Pulse Integral Histograms: "+str(l))
    figname = 'ACHistograms.png'
    figpath = 'plot'+str(self.ip)
    print "Finished!"
    #plt.savefig(figpath + figname, format = 'png')

これにより、次のエラーメッセージが表示されます。

File "johnmcmc.py", line 257, in histogram
  h.hist(samples,bins=5000,range=[-6e-9,6e-9],histtype='step') #removed label=apdlabel      
File "/x/tsfit/local/lib/python2.6/site-packages/matplotlib/axes.py", line 7238, in hist
  ymin = np.amin(m[m!=0]) # filter out the 0 height bins
File "/x/tsfit/local/lib/python2.6/site-packages/numpy/core/fromnumeric.py", line 1829, in amin
  return amin(axis, out)
ValueError: zero-size array to ufunc.reduce without identity

私が見つけた唯一の検索結果は、同じ 2 つの会話の複数のコピーでした。そこから学んだ唯一のことは、python ヒストグラムは空の配列が供給されるのを好まないということでした。そのため、行のすぐ上に print ステートメントを追加しました。配列が空でないことを確認するのに苦労しています。

他の誰かが以前にこのエラーに遭遇したことがありますか?

4

0 に答える 0