2014-09-04 36 views
0

我需要使用powerlaw軟件包的一些基本幫助(https://pypi.python.org/pypi/powerlaw)。如何將數據放在像powerlaw.plot_pdf這樣的圖表上?

我有一個數據樣本列表。 當我使用powerlaw.plot_pdf(數據)時,我得到一個圖表(*抱歉,由於我沒有足夠的聲望,因此無法在此處上傳圖表)。

然而,努力創造我自己在同一張圖(此代碼)時:

ax.plot(data) 
ax.set_yscale('log') 
ax.set_xscale('log') 

我得到一個不同的圖表。

爲什麼? 也許我應該正常化數據(如果是 - 如何)? 還是我想念更重要的東西? (如果我理解正確,使用powerlaw.plot_pdf(數據)表示在擬合之前繪製數據)。

另一種選擇是以某種方式獲得產生powerlaw.plot_pdf(數據)圖的x和y軸的值,但沒有成功。

感謝你的幫助,

阿龍

回答

0

解決。

下載powerlaw代碼(https://code.google.com/p/powerlaw/source/checkout)後,事情變得更加清晰。

要獲取產生powerlaw.plot_pdf的曲線圖中x和y軸的(數據)的值:

edges, hist = powerlaw.pdf(data) 

現在,而不是如上述剛剛繪製在對數日誌軸進行的數據這個問題,我們應該首先產生垃圾桶的中心。這些中心將是x軸上的值。 HIST包含y軸的值:

bin_centers = (edges[1:]+edges[:-1])/2.0 

現在上的雙對數圖軸:

plt.loglog(bin_centers, hist) 
相關問題