1818
1919def set_axis (ax , letter = None ):
2020 ax .text (
21- - 0.05 ,
21+ - 0.15 ,
2222 1.05 ,
2323 letter ,
2424 fontsize = 18 ,
@@ -31,19 +31,26 @@ def make_subplot(ax, true_csd, est_csd, estm_x, title=None, ele_pos=None,
3131 xlabel = False , ylabel = False , letter = '' , t_max = None ):
3232
3333 x = np .linspace (0 , 1 , 100 )
34- ax .plot (x , true_csd , ': ' , label = 'TrueCSD' )
35- ax .plot (estm_x , est_csd , '--' , label = 'kCSD' )
36- ax .plot (ele_pos , np .zeros (len (ele_pos )), 'ko ' , label = 'Electrodes' )
37- ax .legend (fontsize = 10 )
34+ l1 = ax .plot (x , true_csd , label = 'True CSD ' , lw = 2. )
35+ l2 = ax .plot (estm_x , est_csd , label = 'kCSD' , lw = 2. )
36+ s1 = ax .scatter (ele_pos , np .zeros (len (ele_pos )), 13 , 'k ' , label = 'Electrodes' )
37+ # ax.legend(fontsize=10)
3838 ax .set_xlim ([0 , 1 ])
3939 if xlabel :
40- ax .set_xlabel ('Depth (mm)' , fontsize = 15 )
40+ ax .set_xlabel ('Depth ($mm$)' )
4141 if ylabel :
42- ax .set_ylabel ('CSD (mA/mm)' , fontsize = 15 )
42+ ax .set_ylabel ('CSD ($ mA/mm$)' )
4343 if title is not None :
44- ax .set_title (title , fontsize = 15 )
44+ ax .set_title (title )
45+ if np .max (est_csd ) < 1.2 :
46+ ax .set_ylim (- 0.2 , 1.2 )
47+ elif np .max (est_csd ) > 500 :
48+ ax .set_yticks ([- 5000 , 0 , 5000 ])
4549 ax .set_xticks ([0 , 0.5 , 1 ])
4650 set_axis (ax , letter = letter )
51+ # ax.legend(frameon=False, loc='upper center', ncol=3)
52+ ax .spines ['right' ].set_visible (False )
53+ ax .spines ['top' ].set_visible (False )
4754 return ax
4855
4956
@@ -58,10 +65,10 @@ def generate_figure(R, MU, N_SRC, TRUE_CSD_XLIMS, TOTAL_ELE, SAVE_PATH,
5865 ELE_LIMS ,
5966 noise = noise )
6067
61- fig = plt .figure (figsize = (12 , 12 ))
68+ fig = plt .figure (figsize = (15 , 12 ))
6269 widths = [1 , 1 , 1 ]
6370 heights = [1 , 1 , 1 ]
64- gs = gridspec .GridSpec (3 , 3 , height_ratios = heights , width_ratios = widths )
71+ gs = gridspec .GridSpec (3 , 3 , height_ratios = heights , width_ratios = widths , hspace = 0.45 , wspace = 0.3 )
6572
6673 ax = fig .add_subplot (gs [0 , 0 ])
6774 xmin = 0
@@ -71,7 +78,7 @@ def generate_figure(R, MU, N_SRC, TRUE_CSD_XLIMS, TOTAL_ELE, SAVE_PATH,
7178 sigma = 0.3 , gdx = 0.01 , ext_x = ext_x , xmin = xmin ,
7279 xmax = xmax , method = method , Rs = Rs , lambdas = lambdas )
7380 make_subplot (ax , true_csd , obj .values ('CSD' ), obj .estm_x , ele_pos = ele_pos ,
74- title = 'Basis lims = [0, 1]' , xlabel = False , ylabel = True ,
81+ title = 'Basis limits = [0, 1]' , xlabel = False , ylabel = True ,
7582 letter = 'A' )
7683
7784 ax = fig .add_subplot (gs [0 , 1 ])
@@ -82,7 +89,7 @@ def generate_figure(R, MU, N_SRC, TRUE_CSD_XLIMS, TOTAL_ELE, SAVE_PATH,
8289 sigma = 0.3 , gdx = 0.01 , ext_x = ext_x , xmin = xmin ,
8390 xmax = xmax , method = method , Rs = Rs , lambdas = lambdas )
8491 make_subplot (ax , true_csd , obj .values ('CSD' ), obj .estm_x , ele_pos = ele_pos ,
85- title = 'Basis lims = [0, 0.5]' , xlabel = False , ylabel = False ,
92+ title = 'Basis limits = [0, 0.5]' , xlabel = False , ylabel = False ,
8693 letter = 'B' )
8794
8895 ax = fig .add_subplot (gs [0 , 2 ])
@@ -93,7 +100,7 @@ def generate_figure(R, MU, N_SRC, TRUE_CSD_XLIMS, TOTAL_ELE, SAVE_PATH,
93100 sigma = 0.3 , gdx = 0.01 , ext_x = ext_x , xmin = xmin ,
94101 xmax = xmax , method = method , Rs = Rs , lambdas = lambdas )
95102 make_subplot (ax , true_csd , obj .values ('CSD' ), obj .estm_x , ele_pos = ele_pos ,
96- title = 'Basis lims = [0.5, 1]' , xlabel = False , ylabel = False ,
103+ title = 'Basis limits = [0.5, 1]' , xlabel = False , ylabel = False ,
97104 letter = 'C' )
98105
99106 ELE_LIMS = [0 , 0.5 ]
@@ -164,10 +171,12 @@ def generate_figure(R, MU, N_SRC, TRUE_CSD_XLIMS, TOTAL_ELE, SAVE_PATH,
164171 obj = tb .modified_bases (val , pots , ele_pos , N_SRC , h = 0.25 ,
165172 sigma = 0.3 , gdx = 0.01 , ext_x = ext_x , xmin = xmin ,
166173 xmax = xmax , method = method , Rs = Rs , lambdas = lambdas )
167- make_subplot (ax , true_csd , obj .values ('CSD' ), obj .estm_x , ele_pos = ele_pos ,
168- title = None , xlabel = True , ylabel = False , letter = 'I' )
169-
170- plt .tight_layout ()
174+ ax = make_subplot (ax , true_csd , obj .values ('CSD' ), obj .estm_x , ele_pos = ele_pos ,
175+ title = None , xlabel = True , ylabel = False , letter = 'I' )
176+ handles , labels = ax .get_legend_handles_labels ()
177+ fig .legend (handles , labels , loc = 'lower center' , ncol = 3 , frameon = False )
178+
179+ #plt.tight_layout()
171180 fig .savefig (os .path .join (SAVE_PATH , 'targeted_basis_' + method +
172181 '_noise_' + str (noise ) + '.png' ), dpi = 300 )
173182 plt .show ()
0 commit comments