Example #1
0
 def PlotFFTInput(self):
   """Plot Time Domain of FFT Input Slice for Last Measurement"""
   fig = self.CreateFigure("FFT Input")
   sp = fig.add_subplot(111)
   xaxis = range(0,self.fftn)
   sp.plot(xaxis,[x.real for x in self.fftia],'.-',color='b',label='I')
   sp.plot(xaxis,[x.imag for x in self.fftia],'.-',color='r',label='Q')    
   sp.set_ylabel("Magnitude")
   sp.set_xlabel("Sample")
   #sp.legend(bbox_to_anchor=(1,-0.1))  
   sp.legend(loc=2,bbox_to_anchor=(0,-0.1),ncol=4)   
   plt.show()    
Example #2
0
 def PlotFD(self,dbfs=True):
   """Plot Frequency Domain for Last Measurement"""
   freqspectrum = np.abs(self.fftoa)
   freqspectrum = np.concatenate( [freqspectrum[self.fftn/2:self.fftn],freqspectrum[0:self.fftn/2]] )
   if dbfs:
     zerodb = 20*np.log10(self.fftn/2)
     freqspectrum = (20*np.log10(abs(freqspectrum))) - zerodb
     
   fig = self.CreateFigure("Frequency Domain")
   sp = fig.add_subplot(111)
   
   xaxis = np.r_[0:self.fftn] * (self.Sr/self.fftn)
   xaxis = np.concatenate( [(xaxis[self.fftn/2:self.fftn] - self.Sr),xaxis[0:self.fftn/2]])
   sp.plot(xaxis,freqspectrum,'.-',color='b',label='Spectrum')
   sp.set_ylabel("dBFS")
   sp.set_xlabel("Frequency")
   sp.legend(loc=2,bbox_to_anchor=(0,-0.1),ncol=4)   
   plt.show()          
Example #3
0
 def PlotTD(self):
   """Plot Time Domain of Jack Input and Output Arrays for Last Measurement"""
   fig = self.CreateFigure("Time Domain")
   sp = fig.add_subplot(111)
   xaxis = range(0,len(self.iIa))
   sp.plot(xaxis,self.iIa,'.-',color='b',label='iI')
   ## 180 phase shift as complex portion is created with -1j
   sp.plot(xaxis,-1*self.iQa,'.-',color='r',label='iQ')
   sp.plot(xaxis,self.oIa,'.-',color='c',label='oI')
   sp.plot(xaxis,self.oQa,'.-',color='m',label='oQ') 
   ## Identify RTFrames
   maxy = self.oIa.max()
   sp.plot([self.rtframes,self.rtframes],[-maxy,maxy],'k-',lw=3,label='RT Frames')
   ## Identify Sync Index
   sp.plot([self.synci+self.sync2fft,self.synci+self.sync2fft],[-maxy,maxy],'g-',lw=3,label='FFT Start')
   sp.plot([self.synci+self.sync2fft+self.fftn,self.synci+self.sync2fft+self.fftn],[-maxy,maxy],'y-',lw=3,label='FFT End')      
   sp.set_ylabel("Magnitude")
   sp.set_xlabel("Sample")
   #sp.legend(bbox_to_anchor=(1,-0.1))  
   sp.legend(loc=2,bbox_to_anchor=(0,-0.1),ncol=7)   
   plt.show()        
# fit and plot a new linear model
regr = linear_model.LinearRegression()
regr.fit(pd.DataFrame(x),pd.DataFrame(y))
x_prime = np.linspace(x.min(),x.max(),num=10)[:,np.newaxis]
y_hat = regr.predict(x_prime)
sp.plot(x_prime,y_hat,linewidth=2,linestyle='dashed',color='green',alpha=0.8)

ss_res = regr.residues_[0]
ss_tot = np.sum((y - np.mean(y))**2)
rsq = 1 - (ss_res/ss_tot)

sp.annotate('R^2:  {:.2f}\nCoef: {:.2f}\nIntr: {:.2f}'.format(rsq,regr.coef_[0][0],regr.intercept_[0])
                ,xy=(1,0),xycoords='axes fraction',xytext=(-12,6),textcoords='offset points'
                ,color='green',weight='bold',size=12,ha='right',va='bottom')
sp.set_ylabel('Post-test Score')
sp.set_xlabel('Pre-test Score')
sp.axes.grid(True,linestyle='-',color='lightgrey')

plt.subplots_adjust(top=0.95)
plt.show()  

## TODO: ## scores pre vs post for test type

# <codecell>

## What's the range of deltas?

df['staard_score_delta'] = df['staard_score_post'] - df['staard_score_pre']

df.boxplot(column='staard_score_delta',by='testtype',sym='k+',vert=False
                            ,widths=0.8,notch=True,bootstrap=1000,figsize=[12,3.5])