Matplotlib, как разделить гистограмму на постоянное число - PullRequest
0 голосов
/ 03 июля 2018

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

Я не хочу "нормально" нормализовать это, потому что "нормальная нормализация" делает область равной 1. В общем, я хочу разделить значение каждого бина на данное число N, так что если моя гистограмма имеет 2 ячейки, одна с 5 записями и одна с 3, в результате полученная «нормализованная» (или «разделенная») гистограмма будет иметь первую ячейку с 5 / N записями, а вторая - с 3 / N.

Я искал далеко и широко и не нашел ничего действительно полезного. Есть ли у вас удобное решение? Это мой код, работающий с пандами:

num_bins = 128
list_1 = dataframe_1['E']
list_2 = dataframe_2['E']

fig, ax = plt.subplots()
ax.set_xlabel('Proton energy [MeV]')
ax.set_ylabel('Normalized frequency')
ax.set_title('Proton energy distribution')
n, bins, patches = ax.hist(list_1, num_bins, density=1, alpha=0.5, color='red', ec='red', label='label_1')
n, bins, patches = ax.hist(list_2, num_bins, density=1, alpha=0.5, color='blue', ec='blue', label='label_2')
plt.legend(loc='upper center', fontsize='x-large')
fig.savefig('NiceTitle.pdf')
plt.close('all')
...