Colored the hopper. Lots of polishing.
This commit is contained in:
140
python/save_figure_texts.py
Normal file
140
python/save_figure_texts.py
Normal file
@@ -0,0 +1,140 @@
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
# Fixed RCs:
|
||||
plt.rcParams['font.style'] = 'normal'
|
||||
plt.rcParams['mathtext.fontset'] = 'cm'
|
||||
plt.rcParams['svg.fonttype'] = 'path'
|
||||
plt.rc('text.latex', preamble=r'\usepackage{amsmath}')
|
||||
|
||||
# Context RCs:
|
||||
show_figs = True
|
||||
rc_tex = {
|
||||
'text.usetex': True,
|
||||
'font.family': 'computer modern roman',
|
||||
}
|
||||
rc_plt = {
|
||||
'text.usetex': False,
|
||||
'font.family': 'sans-serif',
|
||||
}
|
||||
|
||||
# Instance configs:
|
||||
title_props = dict(
|
||||
use_tex=False,
|
||||
figsize=(5, 2.5),
|
||||
fs=53,
|
||||
fw='normal',
|
||||
)
|
||||
letter_props = dict(
|
||||
use_tex=False,
|
||||
figsize=(1, 1),
|
||||
fs=70,
|
||||
fw='bold',
|
||||
)
|
||||
element_props = dict(
|
||||
use_tex=True,
|
||||
figsize=(3, 3),
|
||||
fs=80,
|
||||
fw='normal',
|
||||
)
|
||||
line_props = dict(
|
||||
use_tex=True,
|
||||
figsize=(3, 2),
|
||||
fs=75,
|
||||
fw='normal',
|
||||
)
|
||||
|
||||
# Auxiliary configs:
|
||||
fig_kwargs = dict(
|
||||
gridspec_kw={'left': 0, 'right': 1, 'top': 1, 'bottom': 0},
|
||||
facecolor='none',
|
||||
edgecolor='none',
|
||||
frameon=False,
|
||||
)
|
||||
ax_kwargs = dict(
|
||||
facecolor='none',
|
||||
frame_on=False,
|
||||
)
|
||||
text_kwargs = dict(
|
||||
color='k',
|
||||
x=0.5,
|
||||
y=0.5,
|
||||
ha='center',
|
||||
va='center',
|
||||
)
|
||||
|
||||
# Targets:
|
||||
texts = {
|
||||
### PLAIN FONT ###
|
||||
|
||||
# TITLES (NEURONAL CIRCUIT):
|
||||
'neuron_titles_tympanum': ('Tympanal\nMembrane', title_props),
|
||||
'neuron_titles_receptors': ('Receptor\nNeurons', title_props),
|
||||
'neuron_titles_interneurons': ('Local\nInterneurons', title_props),
|
||||
'neuron_titles_ascending': ('Ascending\nNeurons', title_props),
|
||||
'neuron_titles_brain': ('Central\nBrain', title_props),
|
||||
|
||||
# TITLES (MODEL CIRCUIT):
|
||||
'model_titles_bandpass': ('Bandpass\nFiltering', title_props),
|
||||
'model_titles_envelope': ('Envelope\nExtraction', title_props),
|
||||
'model_titles_logarithm': ('Logarithmic\nCompression', title_props),
|
||||
'model_titles_adaptation': ('Intensity\nAdaptation', title_props),
|
||||
'model_titles_convolution': ('Convolutional\nFiltering', title_props),
|
||||
'model_titles_nonlinear': ('Threshold\nNonlinearity', title_props),
|
||||
'model_titles_integration': ('Temporal\nAveraging', title_props),
|
||||
'model_titles_readout': ('Weighted\nReadout', title_props),
|
||||
|
||||
# SUBPLOT LETTERS:
|
||||
'subplot_a': ('a', letter_props),
|
||||
'subplot_b': ('b', letter_props),
|
||||
'subplot_c': ('c', letter_props),
|
||||
'subplot_d': ('d', letter_props),
|
||||
|
||||
### TEX FONT ###
|
||||
|
||||
# ELEMENT LABELS (MODEL CIRCUIT):
|
||||
'model_elements_filt': (r'$x_{\text{filt}}$', element_props),
|
||||
'model_elements_env': (r'$x_{\text{env}}$', element_props),
|
||||
'model_elements_log': (r'$x_{\text{dB}}$', element_props),
|
||||
'model_elements_adapt': (r'$x_{\text{adapt}}$', element_props),
|
||||
'model_elements_c1': (r'$c_1$', element_props),
|
||||
'model_elements_c2': (r'$c_2$', element_props),
|
||||
'model_elements_c3': (r'$c_3$', element_props),
|
||||
'model_elements_b1': (r'$b_1$', element_props),
|
||||
'model_elements_b2': (r'$b_2$', element_props),
|
||||
'model_elements_b3': (r'$b_3$', element_props),
|
||||
'model_elements_f1': (r'$f_1$', element_props),
|
||||
'model_elements_f2': (r'$f_2$', element_props),
|
||||
'model_elements_f3': (r'$f_3$', element_props),
|
||||
'model_elements_out': (r'$\hat{y}$', element_props),
|
||||
|
||||
# LINE LABELS (MODEL CIRCUIT):
|
||||
'model_lines_env': (r'$\lvert\cdot\lvert,h_{\text{LP}}$', line_props),
|
||||
'model_lines_log': (r'$\text{log}$', line_props),
|
||||
'model_lines_hp': (r'$h_{\text{HP}}$', line_props),
|
||||
'model_lines_k1': (r'$k_1$', line_props),
|
||||
'model_lines_k2': (r'$k_2$', line_props),
|
||||
'model_lines_k3': (r'$k_3$', line_props),
|
||||
'model_lines_t1': (r'$\Theta_1$', line_props),
|
||||
'model_lines_t2': (r'$\Theta_2$', line_props),
|
||||
'model_lines_t3': (r'$\Theta_3$', line_props),
|
||||
# 'model_lines_H1': (r'$H(c_1-\Theta_1)$', line_props),
|
||||
# 'model_lines_H2': (r'$H(c_2-\Theta_2)$', line_props),
|
||||
# 'model_lines_H3': (r'$H(c_3-\Theta_3)$', line_props),
|
||||
'model_lines_lp': (r'$h_{\text{LP}}$', line_props),
|
||||
'model_lines_w1': (r'$\omega_1$', line_props),
|
||||
'model_lines_w2': (r'$\omega_2$', line_props),
|
||||
'model_lines_w3': (r'$\omega_3$', line_props),
|
||||
}
|
||||
|
||||
# Save each target string:
|
||||
for name, (text, props) in texts.items():
|
||||
plt.rcParams.update(rc_tex if props['use_tex'] else rc_plt)
|
||||
fig, ax = plt.subplots(figsize=props['figsize'], **fig_kwargs)
|
||||
ax.set(**ax_kwargs)
|
||||
ax.axis('off')
|
||||
ax.text(s=text, size=props['fs'], weight=props['fw'], **text_kwargs)
|
||||
fig.savefig(f'../figures/{name}_text.svg', dpi=300,
|
||||
bbox_inches='tight', pad_inches=0)
|
||||
if show_figs:
|
||||
plt.show()
|
||||
plt.close(fig)
|
||||
Reference in New Issue
Block a user