首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python/matplotlib在直方图中显示置信度

Python/matplotlib在直方图中显示置信度
EN

Stack Overflow用户
提问于 2011-06-02 00:02:20
回答 1查看 3.8K关注 0票数 3

这就是我的问题。我有一些数据,我把它们放入库中,得到一个“数字化”的pdf,这很好。现在,我想找到一种方法,通过对bin组进行不同的着色来表示不同的置信区间。特别是,从包含我想要找到的最高计数的垃圾箱开始,将所有面积总和小于.6的最高垃圾箱着色为红色。然后,总是通过递减计数来挑选新的垃圾桶,我想给那些将我的红色区域增加到橙色.8的垃圾桶上色。我正在考虑使用numpy来获取箱子和计数,将它们分成3个系列(红色,橙色和原始颜色),并用pyplot的条形图绘制它们。希望你能指出一个更快的方法,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-03 00:38:01

如果我正确理解了你的问题,我认为下面的代码将会完成你所建议的工作。这似乎与您正在考虑的方法略有不同,我不确定它是否更有效。无论如何,看看别人做某事的方式通常会有所帮助。它假设已经生成的pdf (直方图)具有由变量“bin”表示的bin和由变量"binwidth“表示的bin宽度。

代码语言:javascript
复制
gray = (.5,.5,.5)
orange = (1.0, 0.647, 0.0)
red = (1.0, 0.0, 0.0)

clrs = [gray for xx in bins]

idxs = pdf.argsort()
idxs = idxs[::-1]
oranges = idxs[(cumsum(pdf[idxs])*binwidth < 0.8).nonzero()]
reds = idxs[(cumsum(pdf[idxs])*binwidth < 0.6).nonzero()]

for idx in oranges:
    clrs[idx] = orange

for idx in reds:
    clrs[idx] = red

bar(left=bins,height=pdf,width=binwidth,color=clrs)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6204181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档