【问题标题】:Compare distributions of values in two arrays (of same size) using range argument使用范围参数比较两个数组(大小相同)中值的分布
【发布时间】:2019-04-20 17:33:29
【问题描述】:

我想比较两个数组(大小相同)中值的分布,但是当我指定范围参数时,直方图显示会发生变化:

def plot_compare(values1, values2, bins=100, range=None):
    fig = plt.figure(figsize=(8,6))
    ax = fig.add_subplot(111) 
    ax.hist(values1.ravel(), alpha=0.5, bins=bins, range=range, color= 'b', label='1')
    ax.hist(values2.ravel(), alpha=0.5, bins=bins, range=range, color= 'r', label='2')
    ax.legend(loc='upper right', prop={'size':14})
    plt.show()


plot_compare(a1, a2)

plot_compare(a1, a2, range=(-1200, 300))

如何进行正确的比较?我的目标是直观地了解两个数组中的值有何不同。

两个数组具有相同数量的值。

我应该为两个数组使用相同数量的 bin(但 bin 的宽度不同),还是应该使用不同数量的 bin(但宽度相同的 bin)?

【问题讨论】:

    标签: python matplotlib plot histogram data-visualization


    【解决方案1】:

    如果您想比较两个直方图,您应该使用相同宽度的 bin。因此,您的第二个情节是正确的。

    两个图之间的区别在于,当指定范围时,bin 的宽度是根据这个范围计算的(即你的范围除以 bin 的数量)。 在第一个图中,两个数组的范围不同。因此箱的宽度是不同的。

    【讨论】:

      猜你喜欢
      • 2017-01-03
      • 1970-01-01
      • 2016-02-24
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      • 2020-04-30
      • 2019-01-08
      • 1970-01-01
      相关资源
      最近更新 更多