我想使用matplotlib繪製部分直方圖。matplotlib規範直方圖
而不是繪製具有很多異常值和較大值的整個直方圖,我只想關注一小部分。原來的柱狀圖如下:
hist(data, bins=arange(data.min(), data.max(), 1000), normed=1, cumulative=False)
plt.ylabel("PDF")
和聚焦後,它看起來像這樣:
hist(data, bins=arange(0, 121, 1), normed=1, cumulative=False)
plt.ylabel("PDF")
注意,最後一個塊被拉伸和最糟糕的是Y刻度被縮放以使得總和恰好爲1(因此根本不考慮當前範圍內的點)
我知道我可以通過在整個可能的範圍內繪製直方圖來實現我想要的,然後將軸限制在我感興趣的部分,但是它浪費了很多時間計算箱,我不會無論如何使用/看。
hist(btsd-40, bins=arange(btsd.min(), btsd.max(), 1), normed=1, cumulative=False)
axis([0,120,0,0.0025])
有畫只關注區域中,但仍然得到Y比例正確的便捷方法嗎?
怎麼會不考慮整個數據集的考慮來計算賦範值?一般情況下,應計算直方圖值,使曲線積分爲1,而不是簡單地除以點數。 – chthonicdaemon
在沒有描述分佈的函數的情況下,你可以做的最好的事情就是計算點數並相應地進行分割。 – cdecker