如何创建一个直方图,该直方图显示给定的数组x从0到1范围内的概率分布?我期望每个栏是< = 1,如果我总结每个栏的y值,他们应该加起来为1.如何绘制python中的概率质量函数
例如,如果x = [.2,.2,.8],那么我会期望一个图表显示2条,一条在.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
你能解释为什么这部分是必要的吗? bins = bins [: - 1] +(bins [1] - bins [0])/ 2 – user3314418