import pylab, numpy, os, sys from scipy import stats from phi_driven_data import * from math import sqrt DATA = rundata["0"] + rundata["1"] + rundata["2"] DATA = [elem for elem in DATA if elem[1] != None] DATA.sort(lambda x, y: cmp(x[0], y[0])) dat_bin_x = [] dat_bin_y = [] dat_bin_e = [] dat_bin_ssize = [] dat_bin_samp = [] samples_y = [] BINSIZE = 200 for binnum in range(10000/BINSIZE): points = [el for el in DATA if (el[0] >= binnum*BINSIZE and el[0] < (binnum+1)*BINSIZE and el[1] != None)] if len(points) == 0: continue x = [el[0] for el in points] y = [el[1] for el in points] dat_bin_x.append(sum(x)/len(x)) dat_bin_y.append(sum(y)/len(y)) dat_bin_ssize.append(len(x)) #print(y) dat_bin_e.append(numpy.std(numpy.array(y))/sqrt(len(y)-1)) dat_bin_samp.append(len(x)) samples_y.append(y) pylab.xlabel("Time Step") pylab.ylabel(r'Integrated Information $\langle\Phi\rangle$ (bits)') pylab.title("Average Integrated Information over Evolution") pvalues = [ stats.ttest_ind(samples_y[0], x) for x in samples_y] print pvalues x = [el[0] for el in DATA if (el[1] != None)] y = [el[1] for el in DATA if (el[1] != None)] print(float(sum(dat_bin_ssize))/len(dat_bin_ssize)) #pylab.plot(x, y, "g,") pylab.errorbar(dat_bin_x, dat_bin_y, yerr=dat_bin_e, fmt='b', ecolor='r') pylab.axis([0, 10000, 0.8, 2]) pylab.show()