Matplotlib直方图条宽度

时间:2018-11-28 00:24:19

标签: python matplotlib

我正在使用matplotlib直方图histt​​ype ='bar'将四个数据集绘制在一起。它自动执行的操作是相对于数据集的大小更改每个数据集的条形宽度。我希望所有四个数据集的条形宽度都相等。

[n, bins, patches = plt.hist(
    [np.sort(x2), np.sort(x3), np.sort(x4), np.sort(x5)],
    bins=np.logspace(np.log10(8e-8), np.log10(1), 7),
    histtype='bar', 
    weights=[w2,w3,w4,w5],
    label=[
        '$\Delta {{\chi}^2} <40$',
        '$u_0 < 0.045$',
        '${s}_{fitted} >5$',
        'Multi-peaked'
    ]
)][1]

My current plot

1 个答案:

答案 0 :(得分:1)

每个集合的垃圾箱实际上具有相同的大小(数值),但是您的x轴是对数的,因此 width 看起来是不同的。尝试在线性x轴上绘制单个数据集(而不是对数),您会发现条形的宽度相同。