首页 > 解决方案 > 使用 Matplotlib 创建具有定义的箱和高度的对数直方图

问题描述

我正在尝试绘制从 MCNP 输出的一些中子通量能谱结果。我对如何使用这个答案适当地设置权重有了一个好主意。这是我目前正在使用的数据。

Intensity = [0.0, 61798.50000000001, 18032.899999999998, 27729.300000000003, 16493.0, 20837.0, 27507.299999999996, 34675.899999999994, 102999.0, 135864.0, 250667.99999999997] #Fluxes
Energy = [0.0, 1e-07, 1e-06, 1e-05, 0.0001, 0.001, 0.01, 0.1, 1.0, 10.0, 20.0] #Energy MeV
plt.hist(energy,  weights=intensity, log=True)
plt.show()

当我绘制这个时,只显示三个条形图。由于每个 bin 的数量级,直方图似乎缺少一些值。有没有一种简单的方法可以将 bin 也设置为对数?

编辑:

我试过包括ax.set_xscale('log')

这是情节目前的样子。

数据图

我不确定为什么我的权重只用于创建三个箱,而且高度似乎与任何强度值都不匹配。想法?

谢谢!

标签: pythonmatplotlibhistogram

解决方案


推荐阅读