您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 每个bin中具有相同点数的直方图

5b51 2022/1/14 8:23:30 python 字数 2088 阅读 555 来源 www.jb51.cc/python

我有一个100分的排序矢量点.我现在想要创建两个直方图:第一个直方图应该有10个具有相等宽度的区间.第二个也应该有10个直方图,但不一定宽度相等.在第二个,我只想让直方图在每个bin中具有相同的点数.因此,例如,第一个条可能非常短而宽,而直方图中的第二个条可能非常高而窄.我有使用matplotlib创建第一个直方图的代码,但现在我不知道如何创建第二个直方图. import matplotlib.p

概述

import matplotlib.pyplot as plt
points = [1,2,3,4,5,6,...,99]
n,bins,patches = plt.hist(points,10)

编辑:

尝试下面的解决方案,我有点困惑为什么我的直方图中的所有条形的高度是相同的.

def histedges_equalN(x,nbin):
    npt = len(x)
    return np.interp(np.linspace(0,npt,nbin + 1),np.arange(npt),np.sort(x))

x = np.random.randn(100)
n,patches = plt.hist(x,histedges_equalN(x,10))

这个解决方案给出了一个具有相同高度区间的直方图,因为—根据定义—直方图是每个区间中点数的计数.

要获得pdf(即密度函数),请使用normed = True kwarg来plt.hist.如我的other answer所述.

总结

以上是编程之家为你收集整理的python – 每个bin中具有相同点数的直方图全部内容,希望文章能够帮你解决python – 每个bin中具有相同点数的直方图所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶