在python中集成直方图?

在python中集成直方图?,第1张

在python中集成直方图

首先,请记住,积分只是曲线下方的总面积。对于直方图,积分(在伪python中)为

sum([bin_width[i] * bin_height[i] fori in bin_indexes_to_integrate])

作为参考,请参见以下在matplotlib中使用直方图的示例:http
:
//matplotlib.org/1.2.1/examples/pylab_examples/histogram_demo.html。

在这里,他们的输出分隔

plt.histogram
成三个部分,
n
bins
,和
patches
。我们可以使用这种分离来实现您要求的“积分”。

假设

bin1
bin2
是要积分的仓位的索引,然后像这样计算积分:

# create some dummy data to make a histogram ofimport numpy as npx = np.random.randn(1000)nbins = 10# use _ to assign the patches to a dummy variable since we don't need themn, bins, _ = plt.hist(x, nbins)# get the width of each binbin_width = bins[1] - bins[0]# sum over number in each bin and mult by bin width, which can be factored outintegral = bin_width * sum(n[bin1:bin2])

如果您已定义

bins
为具有多个宽度的列表,则必须执行类似@cphlewis所说的 *** 作(此方法不带任何偏移):

integral = sum(np.diff(bins[bin1:bin2])*n[bin1:bin2])

还值得看看matplotlib.pyplot.hist的API文档。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631422.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存