def bootstrap(self, nBoot, nbins = 20):
pops = np.zeros((nBoot, nbins))
#medianpop = [[] for i in data.cat]
pylab.figure(figsize = (20,14))
for i in xrange(3):
pylab.subplot(1,3,i+1)
#if i ==0:
#pylab.title("Bootstrap on medians", fontsize = 20.)
pop = self.angles[(self.categories == i)]# & (self.GFP > 2000)]
for index in xrange(nBoot):
newpop = np.random.choice(pop, size=len(pop), replace=True)
#medianpop[i].append(np.median(newpop))
newhist, binedges = np.histogram(newpop, bins = nbins)
pops[index,:] = newhist/1./len(pop)
#pylab.hist(medianpop[i], bins = nbins, label = "{2} median {0:.1f}, std {1:.1f}".format(np.median(medianpop[i]), np.std(medianpop[i]), data.cat[i]), color = data.colors[i], alpha =.2, normed = True)
meanpop = np.sum(pops, axis = 0)/1./nBoot
stdY = np.std(pops, axis = 0)
print "width", binedges[1] - binedges[0]
pylab.bar(binedges[:-1], meanpop, width = binedges[1] - binedges[0], label = "mean distribution", color = data.colors[i], alpha = 0.6)
pylab.fill_between((binedges[:-1]+binedges[1:])/2., meanpop-stdY, meanpop+stdY, alpha = 0.3)
pylab.legend()
pylab.title(data.cat[i])
pylab.xlabel("Angle(degree)", fontsize = 15)
pylab.ylim([-.01, 0.23])
pylab.savefig("/users/biocomp/frose/frose/Graphics/FINALRESULTS-diff-f3/distrib_nBootstrap{0}_bins{1}_GFPsup{2}_{3}.png".format(nBoot, nbins, 'all', randint(0,999)))
评论列表
文章目录