可能是一个简单修复的简单问题,但我对分箱的实际工作方式感到困惑。我想绘制一个相当简单的直方图。x 轴应该只有两个值,0 和 1,y 轴的浮点数介于 0 和 1.0 之间,表示每个值的频率。0 和 1 都是数组中唯一的值,但是当我显示直方图时,这些 bin 似乎没有与 0 和 1 对齐,并且 x 轴上有几个不需要的刻度线。如何制作此图,以便在 x 轴(0 和 1)上仅显示两个刻度,并且每个值的相应频率列正确显示在刻度上方?
这是我的代码:
trials = []
for i in range (m):
trials.append(bernoulli_trial(p))
plt.figure(1)
plt.hist(trials, bins=2, align="mid", weights=np.zeros_like(trials) + 1. / len(trials))
plt.ylim(0,1.0)
plt.title("Bernoulli Distribution with p = " + str(p))
plt.xlabel("Outcome")
plt.ylabel("Probability")
plt.show()
谁能提供任何关于我在这里做错了什么的见解?