在Python中,直方圖是一種用于可視化數據分布的重要工具。直方圖將數據集分成一系列的小區間(bin),統計每個區間內的數據數量,并以柱狀圖的方式展示出來。在某些情況下,直方圖的橫坐標范圍可能不一致,為了消除這種偏差,可以使用直方圖歸一化來將數據壓縮到特定范圍內。
import numpy as np import matplotlib.pyplot as plt data = np.random.normal(0, 1, 10000) # 生成一組均值為0,標準差為1的正態分布數據 plt.hist(data, bins=30, range=(-5, 5), density=False) # 顯示原始直方圖 plt.figure() # 新建一個圖像 plt.hist(data, bins=30, range=(-5, 5), density=True) # 顯示歸一化后的直方圖 plt.show()
在上述代碼中,首先使用numpy.random.normal函數生成了一組均值為0,標準差為1的正態分布數據。然后,使用matplotlib.pyplot.hist函數生成原始直方圖,其中bins參數指定了區間數量,range參數指定了橫坐標范圍,density參數指定了是否對縱坐標進行歸一化。
要生成歸一化后的直方圖,只需將density參數設置為True即可。歸一化后的直方圖的縱坐標表示該區間內數據占總數據數量的比例,因此所有縱坐標的和應為1。
可以通過直方圖歸一化來消除不同數據量之間的偏差,從而更準確地比較數據分布的相似性和差異性。
上一篇css圖片格式環繞