我有这段代码
bins = [0,1,10,20,30,40,50,75,100]
plt.figure(figsize=(15,15))
plt.hist(df.v1, bins = bins)
我的问题是,图中显示的bin宽度与bins
中的范围成正比。但是,我希望所有的箱子都有相同的宽度。
答案 0 :(得分:0)
我不确定你如何理解结果,但你可以使用numpy.histogram
来计算条形的高度,然后直接将它们绘制成任意x尺度。
x = np.random.normal(loc=50, scale=200, size=(2000,))
bins = [0,1,10,20,30,40,50,75,100]
fig = plt.figure()
ax = fig.add_subplot(211)
ax.hist(x, bins=bins, edgecolor='k')
ax = fig.add_subplot(212)
h,e = np.histogram(x, bins=bins)
ax.bar(range(len(bins)-1),h, width=1, edgecolor='k')