我有一個帶有小浮點數的數組,這里是一個豁免:[-0.000631510156545283, 0.0005999252334386763, 2.6784775066479167e-05, -6.171351407584846e-05, -2.0256783283654057e-05, -5.700196588437318e-05, 0.0006830172130385885, -7.862102776837944e-06, 0.0008167604859504389, 0.0004497656945683915, -0.00017132944173890756, -0.00013510823579343265, 0.00019666267095029728, -9.0271602657355e-06, 0.0005219852103996746, 4.010928726736523e-05, -0.0005287787999295592, 0.00023883106926381664, 0.0006348661301799839, 0.0003881285984411852](編輯:整個數組包含 ~40k 浮點數)數字顯示測量值隨時間的變化,例如 +0.0001 表示測量值增加 0.0001。我想在整個數組上繪制直方圖。目前,pyplot.hist創建一個將所有值插入一個箱中的圖(此圖像顯示當前直方圖。,使用以下代碼創建(已編輯):import matplotlib.pyplot as pltfig, axs = plt.subplots(1, 1, figsize=(20,20))array = [] # floats hereaxs.hist(array,bins=10)axs.set_ylabel("Histogram of temperature/weight ratio")axs.set_xlabel("Bins")). 我猜這是因為人數太少了——我就在這里嗎?我嘗試使用hist, bins = numpy.histogram()并繪制它,結果相同。(在此處關注此問題)。我如何在如此小的數字上創建直方圖,以便將值分布在例如 100 個箱子上,而不是全部插入第一個箱子?我需要預處理我的數據嗎?
1 回答

瀟湘沐
TA貢獻1816條經驗 獲得超6個贊
對于其他尋找答案的人:
正如 Jody Klymak 在對我的問題的評論中所建議的那樣,手動指定垃圾箱。我不需要進一步預處理數據,因為我認為我必須這樣做。
例子:
import matplotlib.pyplot as plt
import bumpy as np
array = [...] # large array with tiny floats
fig, axs = plt.subplots(1, 1, figsize=(20,20))
hist = axs.hist(array, np.arange(-0.01, 0.01, 0.0001)) #numpy to create bins over range
plt.show()
添加回答
舉報
0/150
提交
取消