Matplotlib如何将直方图除以常数

时间:2018-07-03 07:13:08

标签: pandas matplotlib histogram normalization

我想对matplotlib上的直方图执行个性化归一化。特别是我有两个直方图,我想将每个直方图除以给定的数字(生成的事件数)。

我不想对其进行“正常”归一化,因为“正常归一化”使面积等于1。我希望基本上是将每个bin的值除以给定的数字N,因此如果我的直方图有2个bin,一个有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')

0 个答案:

没有答案