2014-02-16 43 views
1
 
# A histogram 
n = np.random.randn(100000) 
fig, axes = plt.subplots(1, 2, figsize=(12,4)) 

axes[0].hist(n) 
axes[0].set_title("Default histogram") 
axes[0].set_xlim((min(n), max(n))) 

axes[1].hist(n, cumulative=True, bins=50) 
axes[1].set_title("Cumulative detailed histogram") 
axes[1].set_xlim((min(n), max(n))); 

ipython notebook histogramMatplotlib /大熊貓直方圖不正確對齊

這是從IPython的筆記本hereIn[41]

看來,柱狀圖不正確地與網格(見第一副區)對齊。這是我在自己的情節中面臨的同樣的問題。

有人可以解釋爲什麼嗎?

+0

您是否可以在代碼中包含重現問題的代碼?你的ipython筆記本鏈接_will_ rot。 – tacaswell

回答

1

如果你有一個從-2647擴展到+1324的高斯,你會期望有3971個分檔嗎?可能太多了。 39?那麼你就是0.71。那40左右呢?下降0.29。

直方圖的工作方式是您可以設置bins=參數(箱數,默認值爲10)。在正確的圖表上,刻度似乎從-4.5到+4.5,這使得跨度爲9,除以10個bin,得到0.9/bin。

另外,當你做直方圖,你不想明白「怎麼樣」你想要的東西,並表示它。 如果你有一個從0到1的bin,是0 < x <= 10 <= x < 1?如果你只有整數值,我懷疑你還會更喜歡箱子圍繞整數值?對 ?

因此histogram是一種快速的方法,可以讓您瞭解數據,但不會阻止您設置其參數以表示您喜歡的數據。

This博客文章很好的演示了直方圖繪圖中參數的影響,並解釋了繪圖的一些替代方法。