Сравните распределения значений в двух массивах (одинакового размера), используя аргумент range - PullRequest
0 голосов
/ 18 ноября 2018

Я хочу сравнить распределения значений в двух массивах (одинакового размера), но отображение гистограммы меняется, когда я задаю аргумент диапазона:

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)

enter image description here

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

enter image description here

Как мне сделать правильное сравнение? Моя цель - получить визуальное представление о том, как значения различаются в двух массивах.

Оба массива имеют одинаковое количество значений.

Должен ли я использовать одинаковое количество лотков для двух массивов (но лотки будут разной ширины) или я должен использовать различное количество лотков (но лотков одинаковой ширины)?

1 Ответ

0 голосов
/ 18 ноября 2018

Вы должны использовать ячейки одинаковой ширины, если вы хотите сравнить две гистограммы. Поэтому ваш второй сюжет правильный.

Разница между двумя графиками заключается в том, что при указании диапазона ширина бинов вычисляется на основе этого диапазона (т. Е. Ваш диапазон делится на количество бинов). На первом графике диапазоны обоих массивов различны. Поэтому ширина ящиков различна.

...