import matplotlib.pyplot as plt plt.rcParams['text.usetex'] = True plt.rcParams['font.family'] = 'computer modern roman' plt.rcParams['mathtext.fontset'] = 'cm' plt.rcParams['mathtext.default'] = 'regular' plt.rcParams['svg.fonttype'] = 'path' plt.rc('text.latex', preamble=r'\usepackage{amsmath}') # Settings: titles_fontsize = 50 titles_figsize = (4, 2.5) elements_fontsize = 80 elements_figsize = (3, 3) lines_fontsize = 80 lines_figsize = (3, 3) show_figs = True grid_props = dict(left=0, right=1, top=1, bottom=0) fig_props = { 'facecolor': 'none', 'edgecolor': 'none', 'frameon': False, } ax_props = { 'facecolor': 'none', 'frame_on': False, } text_props = { 'color': 'k', 'x': 0.5, 'y': 0.5, 'ha': 'center', 'va': 'center', } # Targets: texts = { # # TITLES (NEURONAL CIRCUIT): # 'neuron_titles_tympanum': ('Tympanal\nMembrane', titles_fontsize, titles_figsize), # 'neuron_titles_receptors': ('Receptor\nNeurons', titles_fontsize, titles_figsize), # 'neuron_titles_interneurons': ('Local\nInterneurons', titles_fontsize, titles_figsize), # 'neuron_titles_ascending': ('Ascending\nNeurons', titles_fontsize, titles_figsize), # 'neuron_titles_brain': ('Central\nBrain', titles_fontsize, titles_figsize), # # TITLES (MODEL CIRCUIT): # 'model_titles_bandpass': ('Bandpass\nFiltering', titles_fontsize, titles_figsize), # 'model_titles_envelope': ('Envelope\nExtraction', titles_fontsize, titles_figsize), # 'model_titles_logarithm': ('Logarithmic\nCompression', titles_fontsize, titles_figsize), # 'model_titles_adaptation': ('Intensity\nAdaptation', titles_fontsize, titles_figsize), # 'model_titles_convolution': ('Convolutional\nFiltering', titles_fontsize, titles_figsize), # 'model_titles_nonlinear': ('Threshold\nNonlinearity', titles_fontsize, titles_figsize), # 'model_titles_integration': ('Temporal\nAveraging', titles_fontsize, titles_figsize), # 'model_titles_readout': ('Weighted\nReadout', titles_fontsize, titles_figsize), # # ELEMENT LABELS (MODEL CIRCUIT): # 'model_elements_filt': (r'$x_{\text{filt}}$', elements_fontsize, elements_figsize), # 'model_elements_env': (r'$x_{\text{env}}$', elements_fontsize, elements_figsize), # 'model_elements_log': (r'$x_{\text{dB}}$', elements_fontsize, elements_figsize), # 'model_elements_adapt': (r'$x_{\text{adapt}}$', elements_fontsize, elements_figsize), # 'model_elements_c1': (r'$c_1$', elements_fontsize, elements_figsize), # 'model_elements_c2': (r'$c_2$', elements_fontsize, elements_figsize), # 'model_elements_c3': (r'$c_3$', elements_fontsize, elements_figsize), # 'model_elements_b1': (r'$b_1$', elements_fontsize, elements_figsize), # 'model_elements_b2': (r'$b_2$', elements_fontsize, elements_figsize), # 'model_elements_b3': (r'$b_3$', elements_fontsize, elements_figsize), # 'model_elements_f1': (r'$f_1$', elements_fontsize, elements_figsize), # 'model_elements_f2': (r'$f_2$', elements_fontsize, elements_figsize), # 'model_elements_f3': (r'$f_3$', elements_fontsize, elements_figsize), # 'model_elements_out': (r'$\hat{y}$', elements_fontsize, elements_figsize), # LINE LABELS (MODEL CIRCUIT): 'model_lines_env': (r'$\lvert\cdot\lvert,h_{\text{LP}}$', lines_fontsize, lines_figsize), 'model_lines_log': (r'$\text{log}$', lines_fontsize, lines_figsize), 'model_lines_hp': (r'$h_{\text{HP}}$', lines_fontsize, lines_figsize), 'model_lines_k1': (r'$k_1$', lines_fontsize, lines_figsize), 'model_lines_k2': (r'$k_2$', lines_fontsize, lines_figsize), 'model_lines_k3': (r'$k_3$', lines_fontsize, lines_figsize), 'model_lines_t1': (r'$\Theta_1$', lines_fontsize, lines_figsize), 'model_lines_t2': (r'$\Theta_2$', lines_fontsize, lines_figsize), 'model_lines_t3': (r'$\Theta_3$', lines_fontsize, lines_figsize), # 'model_lines_H1': (r'$H(c_1-\Theta_1)$', lines_fontsize, lines_figsize), # 'model_lines_H2': (r'$H(c_2-\Theta_2)$', lines_fontsize, lines_figsize), # 'model_lines_H3': (r'$H(c_3-\Theta_3)$', lines_fontsize, lines_figsize), 'model_lines_lp': (r'$h_{\text{LP}}$', lines_fontsize, lines_figsize), 'model_lines_w1': (r'$\omega_1$', lines_fontsize, lines_figsize), 'model_lines_w2': (r'$\omega_2$', lines_fontsize, lines_figsize), 'model_lines_w3': (r'$\omega_3$', lines_fontsize, lines_figsize), } # Save each target string: for name, (text, fs, size) in texts.items(): fig, ax = plt.subplots(figsize=size, gridspec_kw=grid_props, **fig_props) ax.set(**ax_props) ax.axis('off') ax.text(s=text, fontsize=fs, **text_props) fig.savefig(f'../figures/{name}_text.svg', dpi=300, bbox_inches='tight', pad_inches=0) if show_figs: plt.show() plt.close(fig)