回答
實際上,這很容易:您可以使用bin界限給出一個列表,而不是bin的數量。它們可以分佈不均,太:
plt.hist(data, bins=[0, 10, 20, 30, 40, 50, 100])
如果你只是希望他們平均分配,你可以簡單的使用範圍:
plt.hist(data, bins=range(min(data), max(data) + binwidth, binwidth))
添加到原來的答案
的以上線路僅適用於填充整數的data
。正如macrocosme指出,對於浮子可以使用:
import numpy as np
plt.hist(data, bins=np.arange(min(data), max(data) + binwidth, binwidth))
我想簡單的方法是計算你的數據的最小值和最大值,然後計算L = max - min
。然後你將L
除以期望的紙箱寬度(我假設這是你的意思是紙箱尺寸),並使用這個值的上限作爲箱的數量。
這正是我想到的,謝謝。只是想知道是否有一個更簡單的方法,但這似乎找到感謝! –
使用圓形數字我沒有用這種方法得到圓形的圓形大小。任何人都經歷過這個? –
對於N個頻點,箱體邊緣由N + 1的值的列表中指定其中第一N得到下層紙槽邊緣和1給出了上最後一個箱子的邊緣。
代碼:
from numpy import np; from pylab import *
bin_size = 0.1; min_edge = 0; max_edge = 2.5
N = (max_edge-min_edge)/bin_size; Nplus1 = N + 1
bin_list = np.linspace(min_edge, max_edge, Nplus1)
注意linspace從min_edge產生陣列max_edge分成N + 1點的值或N個頻點
請注意,箱箱包含其下限且不包括其上限,但N + 1(最後一個)箱櫃除外,其中包含兩個邊界。 – lukewitmer
我有同樣的問題,因爲OP(我想!),但我無法按照Lastalda指定的方式工作。我不知道我是否正確解釋了這個問題,但是我找到了另一種解決方案(儘管這樣做可能是一種非常糟糕的方式)。
這是我所採取的方式:
plt.hist([1,11,21,31,41], bins=[0,10,20,30,40,50], weights=[10,1,40,33,6]);
它創建這樣的:
所以第一個基本參數 '初始化' 倉 - 我特別創建一個在我設置在箱參數中的範圍之間的數字。
爲了演示這個,看看第一個參數([1,11,21,31,41])中的數組和第二個參數中的'bin'數組([0,10,20,30,40 ,50]):
- 數1(來自第一陣列)落在0之間和10( '箱' 陣列中)
- 11的數量(來自第一陣列)11和20之間落入(在'箱'陣列中)
- 數字21(來自第一個陣列)落在21和30之間(在「箱」陣列中)等等
然後我使用'權重'參數來定義每個bin的大小。這是用於權重參數的數組:[10,1,40,33,6]。
所以0-10倉被賦予值10,11到20箱被給予值1,21〜30箱中給出的40的值等
我認爲你對直方圖函數的工作原理有一個基本的誤解。它期望原始數據。因此,在您的示例中,您的數據數組應該包含介於10和20之間的10和10之間的10個值,依此類推。然後該功能進行總結和繪圖。上面的操作是一種解決方法,因爲您已經有了總和(然後通過濫用「權重」選項將其插入到圖表中)。 希望這會消除一些混亂。 – Lastalda
對於具有直方圖整數x值我結束了使用
plt.hist(data, np.arange(min(data)-0.5, max(data)+0.5))
plt.xticks(range(min(data), max(data)))
0.5的偏移量中心在x軸值的bin。 plt.xticks
調用爲每個整數添加一個記號。
- 1. D3.js直方圖bin大小增量
- 2. Matplotlib堆疊直方圖bin寬度
- 3. matplotlib:直方圖和bin標籤
- 4. Python中使用sqrt方法選擇bin大小的直方圖
- 5. 圖matplotlib顯示直方圖中的總計數bin
- 6. python matplotlib直方圖:根據bin中的最大頻率編輯x軸
- 7. JFreeChart直方圖具有不同的bin大小
- 8. 直方圖Matplotlib
- 9. 在matplotlib直方圖中缺少一些bin值
- 10. 在matplotlib中調整大小/拉伸2d直方圖,使用x-y相關的bin數?
- 11. 直方圖與matplotlib
- 12. 直方圖matplotlib,文字出直方圖
- 13. Excel vba直方圖bin
- 14. matplotlib直方圖與圖例
- 15. 直方圖中最大的bin數,C#,sharp
- 16. matplotlib中的背對背直方圖
- 17. Python Matplotlib直方圖顏色
- 18. matplotlib規範直方圖
- 19. Matplotlib直方圖標題
- 20. Python - Matplotlib多直方圖
- 21. matplotlib直方圖和標籤
- 22. Matplotlib直方圖對齊
- 23. matplotlib中子圖的相對大小
- 24. 在matplotlib中設置子圖的大小
- 25. matplotlib中的精確子圖大小
- 26. 排列圖像大小matplotlib
- 27. Matplotlib直方圖的第二直方圖倉
- 28. Matplotlib:如何使兩個直方圖具有相同的bin寬度?
- 29. 直接在ggplot中設置直方圖的bin數
- 30. 在matplotlib中連接多個直方圖
請注意,最後一行僅適用於整數,而不是浮點數。 – Gabriel
用np.arange(...)替換範圍(...)以使其與浮動一起工作。 – macrocosme
附加問題,我該如何鑽出軸來查看每個垃圾箱的值?現在我只能看到'10..20..30..' – cqcn1991