我有0天的汽車交貨時間列表。該清單包含近20,000天的交貨日期,重複多天。我的問題是,我如何獲得直方圖來顯示垃圾箱大小爲1天。我已經設定的窗口尺寸,以獨特的交貨天量有: len(set(list))
直方圖箱大小等於1天 - pyplot
但是當我生成柱狀圖,0天交貨頻率爲5000,但是當我做list.count(0)
它與4500
我有0天的汽車交貨時間列表。該清單包含近20,000天的交貨日期,重複多天。我的問題是,我如何獲得直方圖來顯示垃圾箱大小爲1天。我已經設定的窗口尺寸,以獨特的交貨天量有: len(set(list))
直方圖箱大小等於1天 - pyplot
但是當我生成柱狀圖,0天交貨頻率爲5000,但是當我做list.count(0)
它與4500
正如您所指出的,len(set(list))是「delivery days」變量的唯一值的數量。這與垃圾箱大小不同;這是不同倉的數量。我會使用「bin size」來描述一個bin中的項目數量; 「箱數」對於垃圾箱的數量來說會更好。
如果你想生成一個直方圖,假設天的原始列表被稱爲DAYS_LIST,快速的高層次的方法是:
這是否有意義?
如果問題不是你手動計算直方圖錯誤,而是pyplot做錯了什麼,它會幫助你如何使用pyplot包含一些代碼。
垃圾箱的數量將由天數決定,直到最大可能天數。
說daylist
是要柱狀圖(永遠不會調用列表list
,因爲這將覆蓋具有相同名稱的python命令),你會用最大的是列表,並創建一個範圍面像
maxi = max(daylist)
bins = range(0, maxi)
plt.hist(daylist, bins=bins)
,或者,如果你想使用numpy的,
bins = np.arange(0,np.max(daylist))
plt.hist(daylist, bins=bins)
如果你使用'pyplot.hist'的'bins'關鍵字都可以通過一個'array'狀,其表示倉邊緣。有關詳細信息,請參見[文檔](https://matplotlib.org/devdocs/api/_as_gen/matplotlib.pyplot.hist.html)。 –