Python 如何使直方图列的宽度相同

Python 如何使直方图列的宽度相同,python,matplotlib,histogram,Python,Matplotlib,Histogram,我在处理柱状图时有点麻烦。我有一个带有两列的df,我把它们绘制成一个叠加的直方图。我把它们放在特定的箱子里(见下面的代码),但我想在最后放一个大箱子(4000-10000)。但是,默认情况下,大箱子的列宽很大。。有没有办法使这个大箱子不至于太大?所有列的宽度是否相同,即使其x范围不均匀 代码: 谢谢你 编辑: 根据建议,尝试给出一个示例数据集。原油,但可能有助于说明问题 df = pd.DataFrame(np.random.randint(0,4000,size=(100, 2)), col

我在处理柱状图时有点麻烦。我有一个带有两列的df,我把它们绘制成一个叠加的直方图。我把它们放在特定的箱子里(见下面的代码),但我想在最后放一个大箱子(4000-10000)。但是,默认情况下,大箱子的列宽很大。。有没有办法使这个大箱子不至于太大?所有列的宽度是否相同,即使其x范围不均匀

代码:

谢谢你

编辑:

根据建议,尝试给出一个示例数据集。原油,但可能有助于说明问题

df = pd.DataFrame(np.random.randint(0,4000,size=(100, 2)), columns=['A','B'])
df['A'].loc[85:89] = np.random.randint(5000,10000, size=5)
df.plot.hist(stacked=True, bins=[0,400,800,1200,1600,2000,2400,2800,3200,3600,4000,10000],normed= True)

使所有存储箱的大小相同,然后将数据剪辑到最后一个存储箱的右端

df = pd.DataFrame(np.random.randint(0,4000,size=(100, 2)), columns=['A','B'])
df['A'].loc[85:89] = np.random.randint(5000,10000, size=5)
bins = [0,400,800,1200,1600,2000,2400,2800,3200,3600,4000,4400]
df.clip(upper=4400).plot.hist(stacked=True, bins=bins, normed=True)


考虑到,正如评论中所指出的,这并不是一个真正的直方图。您可能希望自定义标签,以反映最后一个箱子实际上比它看起来大的事实。

最好创建一个简单的工作示例,这样每个人都可以运行它并看到问题。我认为问题是如何缩放x轴,以便所有箱子的宽度相等?好的一点,我应该提到我想做最后一个标签“4000-10000”。谢谢这很有效,谢谢!!你说得对,我应该提到我计划做最后一个标签“4000-10000”。
df = pd.DataFrame(np.random.randint(0,4000,size=(100, 2)), columns=['A','B'])
df['A'].loc[85:89] = np.random.randint(5000,10000, size=5)
bins = [0,400,800,1200,1600,2000,2400,2800,3200,3600,4000,4400]
df.clip(upper=4400).plot.hist(stacked=True, bins=bins, normed=True)