我在python中創建了一個直方圖,我希望bin邊緣是給定值的百分比(5-10%)。什麼是最好的方法去做這件事,這樣我就不會在箱邊界留下空隙,也不必爲箱邊界計算預先設定一些值。帶有分箱值的百分比的直方圖?
回答
也許我是在簡化您的問題?
def bins(data, nbins):
range = max(data) - min(data)
binsize = range/float(nbins)
bins = [x * binsize for x in range(nbins)]
你可以做這些重載嗎?當我運行它時,它會返回相同大小的垃圾箱,這不是我想要的。我創建的kludge是創建一個列表,然後使用我想要的百分比追加到列表中:[mybins.append(mybins [i] * percent)for range in(nbins)] – Jen
因此,您希望每個bin都包含10值的百分比?在這種情況下,只需對數組進行排序並獲取每個「(num_elements * 100)/ percentage」元素。 – japreiss
否 - 不是數值的10% - 料箱邊界值爲+/- 10%。 (即,4.5-5.5(倉中心5)或90-110(倉中心100))。 – Jen
一般情況下,它的方便創建使用預先定義的工具直方圖像numpy.histogram,雖然你的新發布comment-建議您使用matplotlib-也完全正常。無論哪種方式,您可以創建寬度相等的自動確定箱的集數...
import numpy
data = [0,1,1,1,1,1,1,2,3,3]
hist, edges = numpy.histogram(data , bins = 10)
>>> hist
array([1, 0, 0, 6, 0, 0, 1, 0, 0, 2])
>>> edges
array([ 0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3. ])
...或者,在你想預定義倉(可能是不同的寬度)奇數的情況下,你可以指定垃圾桶邊自己(閱讀這是如何工作的信息,文檔):
>>> hist, edges = numpy.histogram(data , bins = [0,.5,1., 1.5,2,3])
>>> hist
array([1, 0, 6, 0, 3])
>>> edges
array([ 0. , 0.5, 1. , 1.5, 2. , 3. ])
>>>
只是要小心使用完全不同塊大小,但是。在許多情況下,這種粗粒化可能會扭曲您嘗試比較的數字之間的關係。
至於你的價值+/- 10%的邊界?
preferred_bin_centers = [0,1,2,3]
bin_pairs = [ (0.9* v , 1.1*v) for v in preferred_bin_centers ]
>>> [[0.0, 0.0], [0.9, 1.1], [1.8, 2.2], [2.7, 3.3000000000000003]]
或者平面化爲可以通過numpy.histogram使用列表的形式...
bin_edges = sum([ [ 0.9* v , 1.1*v ] for v in values ] , [])
>>> [0.0, 0.0, 0.9, 1.1, 1.8, 2.2, 2.7, 3.3000000000000003]
(從上面的列表中的前兩項注意,這個代碼給出了混亂倉邊緣如果其中一個倉位中心爲0,則我僅將其作爲要注意的示例)
順便提一下,上面定義的倉邊也會在所需範圍外創建中間倉。例如,如果您將物品放入1,2和3的+/- 10%範圍內,那麼固有地,在2.2和2.7之間(您想要的箱子的「外邊緣」)也會有一個箱子,其中數字爲2.5走。如果您的期望垃圾箱之間存在價值觀,那麼您可能需要相應調整截止點或可視化。
- 1. 帶有%和百分比*標籤的ggplot直方圖*
- 2. 在Python/numpy中使用百分比箱子的直方圖?
- 3. Spark:列值的百分比百分比
- 4. 帶邊框的百分比
- 5. 帶百分比的列表
- 6. gnuplot分箱與零值直方圖
- 7. 帶有百分比的JQuery Ajax請求
- 8. 的CSS定心箱百分比運作
- 9. 在Matlab中居中直方圖箱和設置百分比範圍
- 10. 垂直百分比問題
- 11. Bootstrap傳送帶百分比
- 12. Highcharts百分比值
- 13. archartengine:Y值的百分比
- 14. 百分比值的輸入
- 15. devexpress餅圖顯示值的百分比
- 16. c#調整圖像的百分比值
- 17. R顏色百分比柱狀圖直方圖
- 18. 條形圖的百分比
- 19. 按價值或價值百分比計算百分比
- 20. 來自離散值的直方圖數據的百分位數
- 21. 帶有百分比的圖像佔位符?
- 22. 帶百分比座標的面板
- 23. 帶邊框的ul百分比寬度
- 24. 按百分位數繪製直方圖
- 25. CSS垂直對齊不適用於以百分比表示的百分比
- 26. 如何直接從MySQL查詢中獲得兩個百分比的百分比?
- 27. Matplotlib直方圖時間與百分比(NBA統計)
- 28. SPSS-如何使直方圖模板參考y軸百分比
- 29. 獲得百分比使用直方圖磨製使用時
- 30. 將nvd3 linePlusBarChart調整爲具有累積百分比線的直方圖?
你用什麼來繪製它? pyplot有一個'hist()'函數,可以爲你使用這個函數。 – redrah
我正在使用pyplot,但我需要使用bins = myBins關鍵字給它分類邊界。 Pyplot默認是相同大小的分檔。 – Jen