如何创建一个直方图,显示给定数字 x 范围从 0-1 的数组的概率分布?我希望每个条形图都 <= 1,并且如果我将每个条形图的 y 值相加,它们应该加起来为 1。
例如,如果 x=[.2, .2, .8] 那么我会期望显示 2 个条形图,一个在 0.2 处高度为 0.66,一个在 0.8 处高度为 0.33。
我试过了:
matplotlib.pyplot.hist(x, bins=50, normed=True)
这给了我一个柱状图超过 1 的直方图。我并不是说这是错误的,因为根据文档,这是规范参数将执行的操作,但这并没有显示概率。
我也试过:
counts, bins = numpy.histogram(x, bins=50, density=True)
bins = bins[:-1] + (bins[1] - bins[0])/2
matplotlib.pyplot.bar(bins, counts, 1.0/50)
这也给了我 y 值总和大于 1 的条形图。