一次元密度values/length
として定義されます。しかし、ヒストグラムの正規化方法でもあります。
だから合計数(正規化)とビン幅(密度)で割るdensity
- 値へのあなたの元の値から得るために:
bin_width = bins[1:] - bins[:-1]
values2 = values1/np.sum(values1)/bin_width
ランダムな配列を持つ簡単なテスト:
from matplotlib import pylab
import numpy as np
data = np.random.randint(0,10, 1000)
bins = np.array([0,1,2,5,11])
values1, _ = pylab.histogram(data, bins, density = False)
print(values1)
# [ 97, 117, 278, 508]
values2, _ = pylab.histogram(data, bins, density = True)
print(values2)
# [ 0.097, 0.117, 0.09266667, 0.08466667]
bin_width = bins[1:] - bins[:-1]
print(values1/np.sum(values1)/bin_width)
# [ 0.097, 0.117, 0.09266667, 0.08466667]
したがって、この場合も同じです。
混乱を避けるため、 'pylab.histogram'は' matplotlib'ではなく 'numpy'ヒストグラム関数であることに注意してください。 – tom