2011-08-15 150 views
3

我知道如何用Python創建直方圖,但我希望它是概率密度分佈。Python中的概率分佈函數

讓我們從我的例子開始。我有一個數組d,大小爲500000個元素。使用下面的代碼,我構建了一個簡單的直方圖,告訴我在每個bin之間有多少個數組d

max_val=log10(max(d)) 
min_val=log10(min(d)) 

logspace = np.logspace(min_val, max_val, 50) 
H=hist(select,bins=logspace,histtype='step') 

問題是這個情節不是我想要的。我想有我的數組d的概率分佈函數。我不希望每個箱子裏都有我的數組元素的數量,我希望他們有可能進入這個箱子。我試着用normed = True,但是這似乎不起作用,因爲我的箱子裏有同樣的日誌。

+0

通過'50.0000'你的意思是50000嗎? 500000? – agf

+2

您可能使用matplotlib中的'hist',而不是來自numpy的'histogram'。 –

回答

2

目前尚不清楚你的hist函數是什麼。如果您使用的是NumPy的histogram,請嘗試設置density=True。請參閱http://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

+0

Matteo可能使用matplotlib中的'hist',而不是來自numpy的'histogram'。 –

+3

是的,我正在使用matplotlib中的hist。我嘗試從密度= True的numpy直方圖,但我得到這個錯誤:TypeError:直方圖()有一個意想不到的關鍵字參數'密度' – Brian

+0

我得到了這個錯誤,但它是通過更新到numpy 1.6.1修復的。 – rgbrgb