这就是我的问题。我有一些数据,我把它们放入库中,得到一个“数字化”的pdf,这很好。现在,我想找到一种方法,通过对bin组进行不同的着色来表示不同的置信区间。特别是,从包含我想要找到的最高计数的垃圾箱开始,将所有面积总和小于.6的最高垃圾箱着色为红色。然后,总是通过递减计数来挑选新的垃圾桶,我想给那些将我的红色区域增加到橙色.8的垃圾桶上色。我正在考虑使用numpy来获取箱子和计数,将它们分成3个系列(红色,橙色和原始颜色),并用pyplot的条形图绘制它们。希望你能指出一个更快的方法,谢谢!
发布于 2011-06-03 00:38:01
如果我正确理解了你的问题,我认为下面的代码将会完成你所建议的工作。这似乎与您正在考虑的方法略有不同,我不确定它是否更有效。无论如何,看看别人做某事的方式通常会有所帮助。它假设已经生成的pdf (直方图)具有由变量“bin”表示的bin和由变量"binwidth“表示的bin宽度。
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)

https://stackoverflow.com/questions/6204181
复制相似问题