
    h*                         d dl Zd dlmZ d dlZd dlmZ d dlZ	ej                  j                  d        ej                  d        ej                          d Zd Zd Zedk(  r e        yy)	    N)datetimedefaulthuslc            
      V   	 t        j                  d      } t        d| j                          t        dt	        | j
                                t        d| d   j                          d| d   j                                 t        dt        |               t        j                  | d         | d<   t        j                  ddd      \  }}|j                  ddd       |d   j                  | d   | d   dddd       d| j
                  v rE| d   j!                         dkD  r/|d   j#                  | d   | d   | d   z
  | d   | d   z   ddd       |d   j%                  dd        |d   j'                  d!       |d   j)                  d"d#       |d   j+                  d$d%&       |d   j-                          |d'   j                  | d   | d(   d)ddd(       d*| j
                  v rE| d*   j!                         dkD  r/|d'   j#                  | d   | d(   | d*   z
  | d(   | d*   z   dd+d       |d'   j%                  d,d        |d'   j'                  d-       |d'   j)                  d"d#       |d'   j+                  d$d%&       |d'   j-                          |d.   j                  | d   | d/   d0dd1       |d.   j%                  d2d        |d.   j'                  d3       |d.   j)                  d"d#       |d.   j+                  d$d%&       |d4   }|j/                         }|j                  | d   | d5   d6ddd7      }|j'                  d8d9:       |j+                  d;d9<       |j                  | d   | d=   d>ddd?      }|j'                  d@d>:       |j+                  d;d><       |j%                  dAd        |j)                  d"d#       |j+                  d$d%&       ||z   }|D 	cg c]  }	|	j1                          }
}	|j-                  ||
dBC       d| j
                  v rd*| j
                  v r|dD   j                  | d   | d   ddddE       |dD   j                  | d   | d*   d)dddF       |dD   j%                  dGd        |dD   j'                  dH       |dD   j)                  d"d#       |dD   j+                  d$d%&       |dD   j-                          n>|dD   j3                  dIdIdJdKdK|dD   j4                  dLM       |dD   j%                  dGd        |dN   j3                  dOddPt        |        dQ|dN   j4                  R       |dN   j3                  dOdSdT| d   j                         j7                  dU       d| d   j                         j7                  dU       dQ|dN   j4                  R       |dN   j3                  dOdVdW| d   j                         dXd| d   j                         dXdYdQ|dN   j4                  R       |dN   j3                  dOdIdZ| d(   j                         dXd| d(   j                         dXdYdQ|dN   j4                  R       |dN   j3                  dOd[d\| d5   j                         d]d| d5   j                         d]d^dQ|dN   j4                  R       |dN   j3                  dOdd_| d/   j8                  d   d`dadQ|dN   j4                  R       |dN   j%                  dbd        |dN   j;                  dc       t        j<                          t        j>                  dddedfg       t        dh       t        j@                  |       tC        |        y	# t        $ r t        d       Y y	t        $ r}t        d
|        Y d	}~y	d	}~ww xY wc c}	w )izPLoad the RCarson CSV data and create comprehensive plots with standard deviationz0data/RCarson_20250812_GFET001_A001001_noniso.csvz!Data loaded successfully! Shape: z	Columns: zData range: Datetimez to zNumber of measurements: z:Error: Could not find the CSV file. Please check the path.NzError loading data:       )      figsizezKRCarson GliderFET001 Non-ISO Sensor Data Analysis (with Standard Deviation)   boldfontsize
fontweightr   r   Vrsezr-   g?)	linewidthalphalabelVrse_stdr   333333?redu   ±1σ)r   colorr   z,Vrse (Reference Electrode Voltage) Over Timer   Vrse (V)Tr   x-   )axisrotationr   r   Vkzm-Vk_stdmagentaz(Vk (Working Electrode Voltage) Over TimeVk (V)r   r   VbiasPospurple)r   r   z!VbiasPos (Bias Voltage) Over TimezVbiasPos (V)r   r   Ikzc-zIk (Working Current)Ik (Working Current) - nAc)r   y)r"   
labelcolorIborangezIb (Bias Current)Ib (Bias Current) - nAzCurrent Measurements Over Timez
upper left)loc)r	   r   zVrse stdzVk stdzStandard Deviation Over TimezStandard Deviationg      ?z$No Standard Deviation Data Availablecenterr   )hava	transformr   )r	   r   g?zTotal Measurements: 
   )r   r9   ffffff?zTime Range: z%Y-%m-%d %H:%M333333?zVrse Range: z.3fz Vz
Vk Range: g?z
Ik Range: z.1fz nAz
VbiasPos: z.2fz V (constant)zData Summaryoffz#rcarson_gliderfet_data_analysis.png,  tightdpibbox_inchesz8Main plot saved as 'rcarson_gliderfet_data_analysis.png')"pdread_csvprintshapelistcolumnsminmaxlenFileNotFoundError	Exceptionto_datetimepltsubplotssuptitleplotsumfill_between	set_title
set_ylabelgridtick_paramslegendtwinx	get_labeltext	transAxesstrftimeilocr"   tight_layoutsavefigclosecreate_additional_plots)dfefigaxesax4ax4_twinline1line2linesllabelss              8C:\Users\bwerb\Documents\nonisonano\EDA_noniso_carson.pyload_and_plot_datarp      s   [[KL1"((<=	$rzz*+,-R
^//12$r*~7I7I7K6LMN(R	23 ^^BzN3BzN Q84ICLL^ikx~L 	JOOBzNBvJTZO[RZZBzN$6$6$81$<T
: "6
R
^ ; "6
R
^ ;&)g 	  	G 	JGTZ[J*%JOODO$Jb1J 	JOOBzNBtHdasRVOW2::"X,"2"2"4q"8T
: "42h< 7 "42h< 7&)' 	  	K 	JCPVWJ(#JOODO$Jb1J 	JOOBzNBzNHQTOUJ<PJ.)JOODO$Jb1 t*Cyy{H HHR
^RXtqSiHjENN.cN:OOO- MM"Z."T(HQT\oMpE0Ach7MM2vMFHHTHOOrO* EME%*+UakkmUF+JJuf,J/ RZZH

$:T
::QT\fgT
:8dasZbcT
;OT
23T
C(T
C"5T
 	T
S"H#DJ<P<P[] 	 	_T
;O 	JOOC 4SWI>W[\`WaWkWkOlJOOCR
^-?-?-A-J-JK[-\,]]abdeobpbtbtbvbb  AQ  cR  bS  T4:+?+?  AJOOCRZ^^-=c,B$r&z~~GWX[F\\^_4:+?+?  AJOOC
2d8<<>#*>d2d8<<>RUBVVXY4:+?+?  AJOOC
2d8<<>#*>d2d8<<>RUBVVYZ4:+?+?  AJOOC
2j>+>+>q+A#*FmT4:+?+?  AJF;JOOE  KK53GT	
DE IIcN B_  JK $QC()@ ,s$   B]- .^&-^#^#^^#c                    	 t        j                  ddd      \  }}|j                  ddd       |d   j                  | d	   | d
   dd       |d   j	                  d       |d   j                  d       |d   j                  dd       |d   j                  dd       |d   j                  | d   | d   dd       |d   j	                  d       |d   j                  d       |d   j                  dd       |d   j                  dd       |d   j                  | d	   dddd        |d   j	                  d       |d   j                  d!       |d   j                  d"d       |d   j                  dd       |d#   j                  | d   d$dd%d        |d#   j	                  d       |d#   j                  d!       |d#   j                  d&d       |d#   j                  dd       t        j                          t        j                  d'd(d)*       t        d+       t        j                  |       t        |        y-# t        $ r}t        d,|        Y d-}~(d-}~ww xY w).z1Create additional analysis plots for RCarson datar	   )r
   r:   r   z RCarson Data Additional Analysisr   r   r   r   r   r%   r<      )r   sr   r(   z
Vrse vs Vkr   Tr   r   r$   r-   r2   r.   r4   zIk vs Ibr)      r;   r   black)binsr   r   	edgecolor	FrequencyzVrse Distributionr,   2   cyanzIk Distributionzrcarson_additional_analysis.pngr>   r?   r@   z;Additional plots saved as 'rcarson_additional_analysis.png'z!Error creating additional plots: N)rO   rP   rQ   scatter
set_xlabelrV   rU   rW   histr`   ra   rE   rb   rM   print_summary_statistics)rd   fig2axes2re   s       ro   rc   rc      ss   +7ll1a:e82RXY 	dBvJ4rBdz*dx(dlv>dS) 	dBtHbhcR@d:;d78djV<dS) 	dF"CuPWXdz*d{+d1fEdS) 	dD#VwWd:;d{+d/FCdS) 	53GTKL 			$ R 	  71!5667s   H?I 	I.I))I.c                 n   t        d       t        d       t        d       g d}|D ]  }|| j                  v st        d| d       t        d| |   j                         d       t        d	| |   j                         d       t        d
| |   j	                         d       t        d| |   j                         d        t        d       t        d| d   j	                                 t        d| d   j                                 t        d| d   j                         | d   j	                         z
          t        d       t        dt        |               t        d| j                         j                         j                                 | d   j                         j                         }|j                         }t        d|        d| j                  v rd| j                  v rt        d       t        d| d   j                         dd| d   j                         d       t        d| d   j                         dd| d   j                         d       | d   j                         dk(  r"| d   j                         dk(  rt        d       yt        d       yyy)z-Print summary statistics for the RCarson dataz=
============================================================zRCARSON DATA SUMMARY STATISTICSz<============================================================)r*   r   r   r%   r&   r-   r2   
:z  Mean: z.6fz  Std:  z  Min:  z  Max:  z
Time Range:z	  Start: r   z	  End:   z  Duration: z
Data Quality:z  Total measurements: z  Missing values: z   Average measurement interval: r   r&   z
Standard Deviation Analysis:z  Vrse std - Mean: z, Max: z  Vk std - Mean: r   zS  Note: All standard deviation values are 0 - this may indicate single measurementszV  Note: Standard deviation values vary - indicates multiple measurements per timepointN)rE   rH   meanstdrI   rJ   rK   isnullrS   diffdropna)rd   numerical_colscol	time_diffavg_intervals        ro   r~   r~      s    
-	
+,	&M RN"**Bse1+HRW\\^C012HRW[[]3/01HRW[[]3/01HRW[[]3/01  
M	Ibn((*+
,-	Ibn((*+
,-	LJ++-:0B0B0DDE
FG 
O	"3r7)
,-	ryy{04467
89 :##%,,.I>>#L	,\N
;< RZZH

$:.0#BzN$7$7$9##>gbnFXFXFZ[^E_`a!"X,"3"3"5c!:'"X,BRBRBTUXAYZ[ j>1$H)9)9);q)@gijl %;    __main__)pandasrC   matplotlib.pyplotpyplotrO   seabornsnsr   numpynpstyleuseset_paletteioffrp   rc   r~   __name__ r   ro   <module>r      sj         		i    	
y v1!f,m\ z r   