'''
Module containing pyplot rcParams for quickly prettifying various plots

'''

from cycler import cycler
import matplotlib.pyplot as plt
import numpy as np

master_param_dict = {'Default' : 

               {'legend.fontsize': 18,
                'figure.figsize': (12, 8),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth' : 2,
                'xtick.major.width' : 2,
                'xtick.major.size' : 3.5,
                'ytick.major.width' : 2,
                'ytick.major.size' : 3.5,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'savefig.bbox' : 'tight'
                },

               'Cyclic Voltammetry' : 

               {'legend.fontsize': 22,
                'figure.figsize': (12, 8),
                'figure.titlesize': 20,
                'axes.labelsize': 20,
                'axes.titlepad': 10,
                'axes.titlesize': 20,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth' : 2,
                'xtick.major.width' : 2,
                'xtick.major.size' : 3.5,
                'ytick.major.width' : 2,
                'ytick.major.size' : 3.5,                 
                'xtick.minor.width': 1,
                'xtick.minor.size': 2,
                'ytick.minor.width': 1,
                'ytick.minor.size': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,               
                'savefig.bbox' : 'tight'
                },

               'GC' : 

               {'legend.fontsize': 18,
                'figure.figsize': (18, 6),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth' : 2,
                'xtick.major.width' : 2,
                'xtick.major.size' : 3.5,
                'ytick.major.width' : 2,
                'ytick.major.size' : 3.5,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'savefig.bbox' : 'tight'
                },

               'BF TEM' : 

               {'legend.fontsize': 18,
                'figure.figsize': (12, 12),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.left' : 'off',
                'axes.spines.right' : 'off',
                'axes.spines.top' : 'off',
                'axes.spines.bottom' : 'off',
                'xtick.top' : False,
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'image.cmap' : 'gray',
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'xtick.major.size': 3,
                'xtick.minor.width': 1.5,
                'xtick.minor.size': 2,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.082,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },

               'NPoM SERS Timescan' : 

               {'legend.fontsize': 18,
                'figure.figsize': (9, 7),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'image.cmap' : 'inferno',
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'xtick.major.size': 3,
                'xtick.minor.width': 1.5,
                'xtick.minor.size': 2,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0,
                'figure.constrained_layout.wspace' :  0,
                'savefig.bbox' : 'tight',
                'pcolor.shading' : 'auto',
                'legend.fancybox' : True,
                'legend.facecolor' : 'ivory',
                'legend.edgecolor' : 'darkgray',
                'legend.framealpha' : 1,
                },

               'NPoM SERS' : 

               {'legend.fontsize': 18,
                'figure.figsize': (12, 7),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'xtick.major.size': 3,
                'xtick.minor.width': 1.5,
                'xtick.minor.size': 2,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.082,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },                

               'DFT Geometry' : 

               {'legend.fontsize': 18,
                'figure.figsize': (9, 9),
                'figure.titlesize': 24,
                'axes.labelsize': 20,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 20,
                'ytick.labelsize': 20,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 17,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2.2,
                'ytick.major.width': 2.2,
                'xtick.minor.width': 1.5,
                'ytick.minor.width': 1.5,
                'xtick.bottom' : True,
                'ytick.left' : True,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.01,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },                

               'DFT Eigenvals' : 

               {'legend.fontsize': 18,
                'figure.figsize': (12, 4),
                'figure.titlesize': 24,
                'axes.labelsize': 20,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 20,
                'ytick.labelsize': 20,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 20,
                'lines.linewidth': 2,                
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.01,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },                

               'DFT Polar Skew' : 

               {'legend.fontsize': 28,
                'figure.figsize': (12, 6),
                'figure.titlesize': 38,
                'axes.labelsize': 28,
                'axes.titlepad': 10,
                'axes.titlesize': 28,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 28,
                'ytick.labelsize': 28,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 28,
                'lines.linewidth': 4,
                'axes.linewidth': 3.1,                
                'patch.linewidth': 2,
                'xtick.major.width': 2.9,
                'xtick.major.size': 4,
                'ytick.major.width': 2.9,
                'ytick.major.size': 4,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.04,
                'figure.constrained_layout.wspace' :  0.04,
                'savefig.bbox' : 'tight'
                },

               'DFT Raman' : 

               {'legend.fontsize': 18,
                'figure.figsize': (16, 4),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'image.cmap' : 'inferno',
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 20,
                'lines.linewidth': 1,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'xtick.major.size': 3,
                'xtick.minor.width': 1.5,
                'xtick.minor.size': 2,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0,
                'figure.constrained_layout.wspace' :  0,
                'savefig.bbox' : 'tight',
                'pcolor.shading' : 'auto',
                'legend.fancybox' : True,
                'legend.facecolor' : 'ivory',
                'legend.edgecolor' : 'darkgray',
                'legend.framealpha' : 1,
                },                

               'DF Comparison' : 

               {'legend.fontsize': 19,
                'figure.figsize': (6, 6),
                'figure.titlesize': 22,
                'axes.labelsize': 22,
                'axes.titlepad': 10,
                'axes.titlesize': 22,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 22,
                'lines.linewidth': 2,
                'lines.markersize' : 20,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'ytick.major.width': 2,
                'xtick.minor.width': 1.3,
                'ytick.minor.width': 1,
                'xtick.major.size': 5,
                'ytick.major.size': 5,
                'xtick.minor.size': 2.7,
                'ytick.minor.size': 1.8,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.08,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight',
                'lines.dash_capstyle' : 'round',
                'lines.solid_capstyle' : 'round'
                },                

               'DF Comparison Main' : 

               {'legend.fontsize': 19,
                'figure.figsize': (6, 7),
                'figure.titlesize': 24,
                'axes.labelsize': 19,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 19,
                'ytick.labelsize': 19,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 19,
                'lines.linewidth': 2,
                'lines.markersize' : 20,
                'axes.linewidth': 3,
                'patch.linewidth': 2.1,
                'xtick.major.width': 2.1,
                'ytick.major.width': 2,
                'xtick.minor.width': 1.3,
                'ytick.minor.width': 1,
                'xtick.major.size': 5,
                'ytick.major.size': 5,
                'xtick.minor.size': 2.7,
                'ytick.minor.size': 1.8,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.08,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },                

               'Agg SERS' : 

               {'legend.fontsize': 18,
                'figure.figsize': (12, 7),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 18,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'xtick.major.size': 3,
                'xtick.minor.width': 1.5,
                'xtick.minor.size': 2,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.082,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },         
                
               'Agg Ext Comparison' : 

               {'legend.fontsize': 25,
                'legend.title_fontsize' : 20,
                'figure.figsize': (12, 7),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 22,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'xtick.major.size': 4,
                'xtick.minor.width': 1.5,
                'xtick.minor.size': 2,
                'ytick.major.width': 2,
                'ytick.major.size': 4,
                'ytick.minor.width': 1.5,
                'ytick.minor.size': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.082,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },                

               'Agg Extinction' : 

               {'legend.fontsize': 18,
                'legend.title_fontsize' : 20,
                'figure.figsize': (7, 7),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'xtick.major.size': 4,
                'xtick.minor.width': 1.5,
                'xtick.minor.size': 2,
                'ytick.major.width': 2,
                'ytick.major.size': 4,
                'ytick.minor.width': 1.5,
                'ytick.minor.size': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.082,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },                

               'Pandas Hist' : 

               {'legend.fontsize': 18,
                'legend.title_fontsize' : 18,
                'figure.figsize': (7, 5),
                'figure.titlesize': 20,
                'axes.labelsize': 18,
                'axes.titlepad': 10,
                'axes.titlesize': 18,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 16,
                'ytick.labelsize': 16,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 18,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'xtick.major.size': 4,
                'xtick.minor.width': 1.5,
                'xtick.minor.size': 2,
                'ytick.major.width': 2,
                'ytick.major.size': 4,
                'ytick.minor.width': 1.5,
                'ytick.minor.size': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.082,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },                

               'UV-Vis' : 

               {'legend.fontsize': 18,
                'figure.figsize': (12, 4),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'ytick.major.width': 2,
                'xtick.major.size': 3,
                'ytick.major.size': 3,
                'xtick.minor.width': 1.5,
                'ytick.minor.width': 1.5,
                'xtick.minor.size': 2,
                'ytick.minor.size': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,            
                'figure.constrained_layout.hspace' :  0.15,
                'figure.constrained_layout.wspace' :  0.1,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'DejaVu Sans',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'savefig.bbox' : 'tight'
                },

               'RI Quadratic Fit' : 

               {'legend.fontsize': 18,
                'figure.figsize': (6, 4),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 24,
                'lines.linewidth': 4.5,
                'axes.linewidth': 2.5,
                'patch.linewidth' : 2,
                'xtick.major.width' : 2.5,
                'xtick.major.size' : 3.5,
                'ytick.major.width' : 2.5,
                'ytick.major.size' : 3.5,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.15,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },

               'RI Prediction Overview' : 

               {'legend.fontsize': 22,
                'figure.figsize': (7, 10),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 24,
                'lines.linewidth': 4.5,
                'lines.markersize' : 10,
                'lines.markeredgecolor' : 'k',
                'lines.markeredgewidth' : 1,
                'axes.linewidth': 2.5,
                'patch.linewidth' : 2,
                'xtick.major.width' : 2.5,
                'xtick.major.size' : 3.5,
                'ytick.major.width' : 2.5,
                'ytick.major.size' : 3.5,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.15,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },

               'RI UV-Vis' : 

               {'legend.fontsize': 18,
                'figure.figsize': (8, 6),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 24,
                'lines.linewidth': 4,
                'axes.linewidth': 2.5,
                'patch.linewidth' : 2,
                'xtick.major.width' : 2.5,
                'xtick.major.size' : 3.5,
                'ytick.major.width' : 2.5,
                'ytick.major.size' : 3.5,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.15,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },

               'Robaschik RI Prediction' : 

               {'legend.fontsize': 18,
                'figure.figsize': (10, 10),
                'figure.titlesize': 24,
                'axes.labelsize': 20,
                'axes.titlepad': 10,
                'axes.titlesize': 26,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 20,
                'ytick.labelsize': 20,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 26,
                'lines.linewidth': 4,
                'axes.linewidth': 2,
                'patch.linewidth' : 2,
                'xtick.major.width' : 2,
                'xtick.major.size' : 3.7,
                'xtick.minor.width' : 1.5,
                'xtick.minor.size' : 2.5,
                'ytick.major.width' : 2.2,
                'ytick.major.size' : 3.5,
                'ytick.minor.width' : 1.5,
                'ytick.minor.size' : 2.2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',                
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.15,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },

               'NMR Porphyrin' : 

               {'legend.fontsize': 22,
                'figure.figsize': (12, 9),
                'figure.titlesize': 28,
                'axes.labelsize': 28,
                'axes.titlepad': 10,
                'axes.labelpad' : 10,
                'axes.titlesize': 28,
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 28,
                'ytick.labelsize': 28,
                'font.size': 26,
                'lines.linewidth': 3,
                'axes.linewidth': 3,
                'patch.linewidth': 3,
                'xtick.major.width': 3,
                'ytick.major.width': 3,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,              
                'figure.constrained_layout.hspace' : 0.13,
                'figure.constrained_layout.wspace' : 0.2,
                'savefig.bbox' : 'tight'
                },

                'NMR Bounds' : 

               {'legend.fontsize': 22,
                'figure.figsize': (12, 9),
                'figure.titlesize': 28,
                'axes.labelsize': 28,
                'axes.titlepad': 10,
                'axes.labelpad' : 10,
                'axes.titlesize': 28,
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 28,
                'ytick.labelsize': 28,
                'font.size': 26,
                'lines.linewidth': 1.5,
                'axes.linewidth': 2,
                'patch.linewidth': 3,
                'xtick.major.width': 3,
                'xtick.major.size': 5,
                'xtick.minor.width' : 1.4,
                'xtick.minor.size' : 4,
                'ytick.major.width': 3,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' : 0.13,
                'figure.constrained_layout.wspace' : 0.2,
                'savefig.bbox' : 'tight'
                },

               'NMR Full' :

               {'legend.fontsize': 22,
                'figure.figsize': (21, 7),
                'figure.titlesize': 28,
                'axes.labelsize': 28,
                'axes.titlepad': 10,
                'axes.labelpad' : 10,
                'axes.titlesize': 28,
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'axes.spines.right' : 'off',
                'axes.spines.top' : 'off',
                'axes.spines.left' : 'off',
                'xtick.labelsize': 28,
                'ytick.labelsize': 28,
                'font.size': 26,
                'lines.linewidth': 1,
                'axes.linewidth': 3,
                'patch.linewidth': 3,
                'xtick.major.width': 3,
                'xtick.major.size' : 7,
                'xtick.major.pad' : 7,
                'xtick.minor.visible' : True,
                'xtick.minor.size' : 5,
                'xtick.minor.width' : 2,
                'ytick.major.width': 3,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' : 0.13,
                'figure.constrained_layout.wspace' : 0.01,
                'savefig.bbox' : 'tight'
                },

                'NMR Full + Fit' :

               {'legend.fontsize': 29,
                'figure.figsize': (42, 16.8),
                'figure.titlesize': 56,
                'axes.labelsize': 28,
                'axes.titlepad': 13,
                'axes.labelpad' : 13,
                'axes.titlesize': 56,
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'axes.spines.right' : 'off',
                'axes.spines.top' : 'off',
                'axes.spines.left' : 'off',
                'xtick.labelsize': 37,
                'ytick.labelsize': 37,
                'font.size': 35,
                'lines.linewidth': 1.32,
                'axes.linewidth': 4,
                'patch.linewidth': 4,
                'xtick.major.width': 4,
                'xtick.major.size' : 9.3,
                'xtick.major.pad' : 9.3,
                'xtick.minor.visible' : True,
                'xtick.minor.size' : 6.64,
                'xtick.minor.width' : 2.66,
                'ytick.major.width': 4,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' : 0.13,
                'figure.constrained_layout.wspace' : 0.01,
                'savefig.bbox' : 'tight'
                },

               'DOSY' : 

               {'legend.fontsize': 22,
                'figure.figsize': (12, 9),
                'figure.titlesize': 28,
                'axes.labelsize': 28,
                'axes.titlepad': 10,
                'axes.labelpad' : 10,
                'axes.titlesize': 28,
                'axes.spines.right' : 'off',
				'axes.spines.top' : 'off',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 28,
                'ytick.labelsize': 28,
                'font.size': 26,
                'lines.linewidth': 3,
                'axes.linewidth': 3,
                'patch.linewidth': 3,
                'xtick.major.width': 3,
                'ytick.major.width': 3,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' : 0.13,
                'figure.constrained_layout.wspace' : 0.2,
                'savefig.bbox' : 'tight'
                },

               'DF Spectrum' : 

               {'legend.fontsize': 20,
                'figure.figsize': (8, 6),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                #'axes.prop_cycle' : cycler('color', ['#1f77b4', '#ff7f0e', 'darkgreen', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf', 'xkcd:bright green', (0.9058823529411765, 0.1607843137254902, 0.5411764705882353, 1.0), (0.9019607843137255, 0.6705882352941176, 0.00784313725490196, 1.0), (0.6509803921568628, 0.4627450980392157, 0.11372549019607843, 1.0), 'k']),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0,
                'figure.constrained_layout.wspace' :  0.2,
                'savefig.bbox' : 'tight'
                },

                'DF Histogram' : 

               {'legend.fontsize': 20,
                'figure.figsize': (10, 7),
                'figure.titlesize': 20,
                'axes.labelsize': 20,
                'axes.titlepad': 10,
                'axes.titlesize': 20,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',                
                'xtick.labelsize': 18,
                'ytick.labelsize': 18,
                'font.size': 20,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold', 
                'axes.unicode_minus' : False,               
                'figure.constrained_layout.hspace' :  0,
                'figure.constrained_layout.wspace' :  0.2,
                'savefig.bbox' : 'tight'
                },

                'DF Waterfall' : 

               {'legend.fontsize': 20,
                'figure.figsize': (7, 7),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                #'axes.prop_cycle' : cycler('color', ['#1f77b4', '#ff7f0e', 'darkgreen', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf', 'xkcd:bright green', (0.9058823529411765, 0.1607843137254902, 0.5411764705882353, 1.0), (0.9019607843137255, 0.6705882352941176, 0.00784313725490196, 1.0), (0.6509803921568628, 0.4627450980392157, 0.11372549019607843, 1.0), 'k']),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0,
                'figure.constrained_layout.wspace' :  0.2,
                'savefig.bbox' : 'tight'
                },

                'Intensity Ratios' : 

               {'legend.fontsize': 19,
                'figure.figsize': (6, 6),
                'figure.titlesize': 24,
                'axes.labelsize': 19,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'on',
                'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 19*0.92,
                'ytick.labelsize': 19*0.92,
                'xtick.direction' : 'in',
                'ytick.direction' : 'in',
                'font.size': 19,
                'lines.linewidth': 2,
                'lines.markersize' : 20,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'ytick.major.width': 2,
                'xtick.minor.width': 1.3,
                'ytick.minor.width': 1,
                'xtick.major.size': 5,
                'ytick.major.size': 5,
                'xtick.minor.size': 2.7,
                'ytick.minor.size': 1.8,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.08,
                'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                },

                'FTIR' : 

			   {'legend.fontsize': 20,
                'figure.figsize': (8, 6),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 24,
                'axes.spines.right' : 'off',
				'axes.spines.top' : 'off',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'ytick.labelsize': 22,
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 2,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.13,
                'figure.constrained_layout.wspace' :  0.2,
                'savefig.bbox' : 'tight'
                },

                'Chromatogram' :

                {'legend.fontsize': 13,
                'figure.figsize': (18, 6),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': 10,
                'axes.titlesize': 45,
                'axes.spines.right' : 'on',
				'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 22,
                'xtick.direction' : 'in',
                'ytick.labelsize': 22,
                'font.size': 24,
                'lines.linewidth': 0.7,
                'axes.linewidth': 2,
                'patch.linewidth': 2,
                'xtick.major.width': 4,
                'xtick.major.size': 10,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.13,
                'figure.constrained_layout.wspace' :  0.2,
                'savefig.bbox' : 'tight'
                },

                'Mass Spec' :

                {'legend.fontsize': 19,
                'figure.figsize': (7, 4),
                'figure.titlesize': 24,
                'axes.labelsize': 24,
                'axes.titlepad': -5,
                'axes.titlesize': 30,
                'axes.spines.right' : 'on',
				'axes.spines.top' : 'on',
                'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                'xtick.labelsize': 27,
                'xtick.direction' : 'out',
                'xtick.major.pad' : 10,
                'ytick.labelsize': 22,
                'font.size': 24,
                'lines.linewidth': 2,
                'axes.linewidth': 4,
                'patch.linewidth': 2,
                'xtick.major.width': 4,
                'xtick.major.size' : 10,
                'ytick.major.width': 2,
                'legend.facecolor' : 'ivory',
                'legend.fancybox' : True,
                'legend.edgecolor' : 'darkgray',
                'legend.shadow' : False,
                'font.family' : 'sans-serif',
                'font.sans-serif' : 'Arial Nova',
                'font.sans-serif' : 'Arial Nova',
                'mathtext.fontset' : 'custom',
                'mathtext.rm' : 'Arial Nova',
                'mathtext.it' : 'Arial Nova:italic',
                'mathtext.bf' : 'Arial Nova:bold',
                'axes.unicode_minus' : False,                
                'figure.constrained_layout.hspace' :  0.13,
                'figure.constrained_layout.wspace' :  0.2,
                'savefig.bbox' : 'tight'
                },

                'PL Map' : 

                {},

                'PL Comparison Separate' : 

                {'legend.fontsize': 20,
                 'figure.figsize': (9, 6),
                 'figure.titlesize': 16,
                 'axes.labelsize': 25,
                 'axes.titlepad': 10,
                 'axes.titlesize': 20,
                 'axes.spines.right' : 'on',
                 'axes.spines.top' : 'on',
                #'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                 'xtick.labelsize': 20,
                 'ytick.labelsize': 20,
                 'xtick.direction' : 'in',
                 'ytick.direction' : 'in',
                 'font.size': 20,
                 'lines.linewidth': 2,                
                 'axes.linewidth': 2,
                 'patch.linewidth': 2,
                 'xtick.major.width': 2,
                 'xtick.major.size': 5,
                 'ytick.major.width': 2,
                 'ytick.major.size': 5,
                 'legend.facecolor' : 'ivory',
                 'legend.fancybox' : True,
                 'legend.edgecolor' : 'darkgray',
                 'legend.shadow' : False,
                 'font.family' : 'sans-serif',
                 'font.sans-serif' : 'Arial Nova',
                 'mathtext.fontset' : 'custom',
                 'mathtext.rm' : 'Arial Nova',
                 'mathtext.it' : 'Arial Nova:italic',
                 'mathtext.bf' : 'Arial Nova:bold',
                 'axes.unicode_minus' : False,
                 'figure.constrained_layout.hspace' :  0.03,
                 'figure.constrained_layout.wspace' :  0.03,
                 'savefig.bbox' : 'tight'
                },

                'PL Comparison Stacked' : 

                {'legend.fontsize': 20,
                 'figure.figsize': (9, 6),
                 'figure.titlesize': 25,
                 'axes.labelsize': 25,
                 'axes.titlepad': 10,
                 'axes.titlesize': 25,
                 'axes.spines.right' : 'on',
                 'axes.spines.top' : 'on',
                 'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                 'xtick.labelsize': 22,
                 'ytick.labelsize': 22,
                 'xtick.direction' : 'in',
                 'ytick.direction' : 'in',
                 'font.size': 22,
                 'lines.linewidth': 2,                
                 'axes.linewidth': 2,
                 'patch.linewidth': 2,
                 'xtick.major.width': 2,
                 'xtick.major.size': 5,
                 'ytick.major.width': 2,
                 'ytick.major.size': 5,
                 'legend.facecolor' : 'ivory',
                 'legend.fancybox' : True,
                 'legend.edgecolor' : 'darkgray',
                 'legend.shadow' : False,
                 'font.family' : 'sans-serif',
                 'font.sans-serif' : 'Arial Nova',
                 'mathtext.fontset' : 'custom',
                 'mathtext.rm' : 'Arial Nova',
                 'mathtext.it' : 'Arial Nova:italic',
                 'mathtext.bf' : 'Arial Nova:bold',
                 'axes.unicode_minus' : False,
                 'figure.constrained_layout.hspace' :  0.03,
                 'figure.constrained_layout.wspace' :  0.03,
                'savefig.bbox' : 'tight'
                },

                'PL Superimposed' : 

                {'legend.fontsize': 25,
                 'figure.figsize': (9, 6),
                 'figure.titlesize': 30,
                 'axes.labelsize': 25,
                 'axes.titlepad': 10,
                 'axes.titlesize': 25,
                 'axes.spines.right' : 'on',
                 'axes.spines.top' : 'on',
                #'axes.prop_cycle' : cycler('color', [plt.cm.Dark2(i) for i in np.linspace(0, 1., 8)]),
                 'xtick.labelsize': 25,
                 'ytick.labelsize': 25,
                 'xtick.direction' : 'in',
                 'ytick.direction' : 'in',
                 'font.size': 25,
                 'lines.linewidth': 0.3,                
                 'axes.linewidth': 2,
                 'patch.linewidth': 2,
                 'xtick.major.width': 2,
                 'xtick.major.size': 5,
                 'ytick.major.width': 2,
                 'ytick.major.size': 5,
                 'legend.facecolor' : 'ivory',
                 'legend.fancybox' : True,
                 'legend.edgecolor' : 'darkgray',
                 'legend.shadow' : False,
                 'font.family' : 'sans-serif',
                 'font.sans-serif' : 'Arial Nova',                 
                 'mathtext.fontset' : 'custom',
                 'mathtext.rm' : 'Arial Nova',
                 'mathtext.it' : 'Arial Nova:italic',
                 'mathtext.bf' : 'Arial Nova:bold',                
                 'axes.unicode_minus' : False,                
                 'figure.constrained_layout.hspace' :  0.15,
                 'figure.constrained_layout.wspace' :  0.1,
                'savefig.bbox' : 'tight'
                }
               }

bbox_params = {'boxstyle' : 'round',
            'facecolor' : 'ivory',
            'edgecolor' : 'darkgray',
            'linewidth' : 3,
            'alpha' : 0.9}

error_bar_params = {'DOSY' :
		        	  {'elinewidth' : 1.5,
		        	   'capsize' : 3,
		        	   'color' : 'k',
		        	   'fmt' : 'none'
		        	  }
		        	 }
arrow_params = {'arrowstyle' : '->',
              'shrinkA' : 5,
              'shrinkB' : 5,            
              'linewidth' : 3,
             }

chromatogram_params = {'line height factor' : 0.07,
					 'line cap factor' : 0.01,
					 'horizontal linewidth' : 3,
					 'text position factor' : 0.05,
					 'fontsize factor' : 2,
					 'vertical line color' : 'darkred',
					 'vertical linewidth' : 3,
					 'fill alpha' : 0.8,
					 'fill color' : plt.cm.Dark2(2),
					 'line color' : 'darkgreen',
					 'lw' : 3,
					 'bbox fontsize' : 18,
                     'x text threshold' : 0.4,
                     'y text threshold' : 0.1,
                     'x text shift' : 0.45,
                     'bbox' :
                        {'boxstyle' : 'round',
                        'facecolor' : 'white',
                        'edgecolor' : 'white',
                        'linewidth' : 1,
                        'alpha' : 1},

                     'Arrows' : 
                                {'arrowstyle' : '-',
                                 'shrinkA' : 5,
                                 'shrinkB' : 5,
                                 'color' : 'darkred',
                                 'linewidth' : 2,
                                 }
					}

ms_params = {'Arrows' : 
		    
		    {'arrowstyle' : '-',
   	  	     'shrinkA' : 5,
   	  	     'shrinkB' : 5,
   	  	     'color' : 'darkred',
   	  	     'linewidth' : 2,
   	  	     },

   	  	    'Lines' :

   	  	    {'lw' : 2,
   	  	     'color' : 'darkgreen'
   	  	     },

   	  	    'bbox' :

   	  	    {'boxstyle' : 'round',
            'facecolor' : 'ivory',
            'edgecolor' : 'white',
            'linewidth' : 1,
            'alpha' : 1},

            'xticks' : [200, 400, 600, 800, 1000],
            'text y pos' : 0.9,
            'xlim' : (60, 940)
   	  	   }

class diagLinePars():
    def diagD(self):
        return 0.008

    def diagM(self):
        return 1./4

nmr_params = {'Lines' :
            {'color' : 'darkblue', 'stack lw' : 2, 'raw line alpha' : 0.55, 'fit line alpha' : 0.7, 'fit linewidth' : 0.6, 
            'fit comp linewidth' : 0.4,            
             'fit line color'    : {'Free CB[7]' : 'grey', 'Complexed CB[7]' : 'xkcd:burnt orange', 'H2 Complexed CB[7]' : 'xkcd:burnt orange', 
             'CB7' : 'k',
                                    'Free CB[8]' : 'grey', 'Complexed CB[8]' : 'xkcd:burnt orange', 'H2 Complexed CB[8]' : 'xkcd:burnt orange', 
                                    'CB8' : 'k', 'CB[n]'  :'k',
                                    'Complexed CB7' : 'xkcd:burnt orange', 'Complexed CB8' : 'xkcd:burnt orange', 'Free MTPP' : 'r',
                                    'Complexed H2-MTPP' : 'darkred', 'MTPP' : 'darkred', 'Complexed MTPP' : 'darkred', 'Free Zn-MTPP' : 'darkgreen',
                                    'Zn-MTPP' : 'darkgreen', 'Complexed Zn-MTPP' : 'darkgreen', 'Zn Complexed CB[7]' : 'xkcd:puke green', 'Solvent' : 'k',
                                    'H2-MTPP' : 'darkred', 'Ni-MTPP' : 'xkcd:bright red', 'Ni Complexed CB[7]' : 'xkcd:pinkish red',
                                    'Crap' : 'xkcd:shit brown', 'Ni Complexed CB[8]' : 'xkcd:pinkish red', 'Zn Complexed CB[8]' : 'xkcd:puke green',
                                    'CB[n] + H2-MTPP' : 'xkcd:burnt orange', 'CB[n] + Ni-MTPP' : 'xkcd:pinkish red',
                                    'CB[n] + Zn-MTPP' : 'xkcd:puke green'}             
             },
    'Fill' :
            {'fill color' : {'MTPP' : 'darkred', 'Zn-MTPP' : 'darkgreen', 'Standard' : 'goldenrod', 'CB' : 'gray', 'CB + MTPP' : 'xkcd:burnt orange',
                             'CB7' : 'gray', 'Free CB[7]' : 'gray', 'H2 Complexed CB[7]' : 'xkcd:burnt orange', 'Complexed CB7' : 'xkcd:burnt orange',
                             'CB8' : 'gray', 'Free CB[8]' : 'gray', 'H2 Complexed CB[8]' : 'xkcd:burnt orange', 'Complexed CB8' : 'xkcd:burnt orange',
                              'Complexed MTPP' : 'darkred', 'Zn Complexed CB[7]' : 'xkcd:puke green', 'Complexed Zn-MTPP' : 'darkgreen', 'CB[n]' : 'gray',
                              'H2-MTPP' : 'darkred', 'Complexed H2-MTPP' : 'darkred', 'Ni-MTPP' : 'xkcd:bright red', 'Ni Complexed CB[8]' : 'xkcd:pinkish red', 
                              'Zn Complexed CB[8]' : 'xkcd:puke green', 
                              'Complexed Ni-MTPP' : 'xkcd:bright red', 'Solvent' : 'gray', 'Ni Complexed CB[7]' : 'xkcd:coral', 'Crap' : 'xkcd:shit brown'},
             'fill alpha' : 0.5
             },
     'y squish' : 0.87,
     'figpad' : 0.01,
     'diagD' : 0.0068, 'diagM' : 0.25,
     'bigAxWidthFrac' : 41.16/42.0, 'bigAxHeightFrac' : 4.2/16.8,
     'legend handle size' : 500,
     'xLabLocDpi' : (21*master_param_dict['NMR Full + Fit']['figure.figsize'][0]/42, -1.3078*master_param_dict['NMR Full + Fit']['figure.figsize'][1]/16.8),
     'xLabelSize' : 47.8,
     'legend handle facecolor' : {'H2 Complexed CB[7]' : (223/255., 166/255., 127/255.), 'Free CB[7]' : (191/255., 191/255., 191/255.),
                                  'CB[n] + H2-MTPP' : (223/255., 166/255., 127/255.), 'CB[n] + Ni-MTPP' : (253/255., 172/255., 167/255.),
                                  'CB[n] + Zn-MTPP' : (204/255., 214/255., 130/255.), 'CB[n]' : (191/255., 191/255., 191/255.),
                                  'H2 Complexed CB[8]' : (223/255., 166/255., 127/255.), 'Free CB[8]' : (191/255., 191/255., 191/255.),
                                  'Complexed Zn-MTPP' : (127/255., 177/255., 127/255.), 'Complexed H2-MTPP' : (196/255., 127/255., 127/255.),
                                  'Zn-MTPP' : (127/255., 191/255., 127/255.), 'Zn Complexed CB[7]' : (204/255., 214/255., 130/255.),
                                  'Zn Complexed CB[8]' : (204/255., 214/255., 130/255.),
                                  'H2-MTPP' : (196/255., 127/255., 127/255.), 'Solvent' : (191/255., 191/255., 191/255.),
                                  'Ni-MTPP' : (255/255., 127/255., 127/255.), 'Ni Complexed CB[7]' : (253/255., 172/255., 167/255.),
                                  'Ni Complexed CB[8]' : (253/255., 172/255., 167/255.)}
    }

uv_vis_params = {'yLimFactor' : 0.06,
              'bbox' :
                {'boxstyle' : 'round',
                'facecolor' : 'white',
                'edgecolor' : 'white',
                'linewidth' : 1,
                'alpha' : 1},
              
              'Peak Stats':
              {'figsize'     : (7, 13),
               'fontsize'    : 17,
               'titlesize'   : 18,
               'titlepos'    : (0.5, 0.957),
               'titleweight' : 1.3,
               'hspace'      : 0.1,
               'labelpos'    : (-0.1, 0.5)},

              'Comparison' : 
              {'line colors' : {'H2' : 'darkred', 'Zn' : 'green', 'Ni' : 'red'}
               },

              'Calibration Curve' :
              {'figsize' : (7, 6),
               'markersize' : 15,
               'markercolor' : {'Zn-MTPP' : 'darkgreen', 'Ni-MTPP' : 'red', 'H2-MTPP' : 'darkred'},
               'markeredgecolor' : 'k',
               'linealpha' : 0.9,
               'linestyle' : '--',
               'tick direction' : 'in'}
                }
pl_params = {'Superimposed' : 
                            {'title bbox' :
                                {'boxstyle' : 'round',
                                'facecolor' : 'white',
                                'edgecolor' : 'white',
                                'linewidth' : 1,
                                'alpha' : 1},

                            'repSpec lw' : 1,
                            'repSmooth lw' : 2,
                            'title weight' : 1.3,
                            'title position' : (0.5, 0.97),
                            'line colors' : {'H2' : 'red', 'Zn' : 'green', 'Ni' : 'darkred', 'Lu' : 'k'},
                            'line alpha' : 0.5,
                            'main line color' : 'k',
                            'smoothed line color' : plt.cm.Dark2(1),
                            'plot start' : 600,
                            'plot end' : 830
                            },
           'Comparison' :
                            {'label bbox' :
                                {'boxstyle' : 'square',
                                'facecolor' : 'white',
                                'edgecolor' : 'white',
                                'linewidth' : 0,
                                'alpha' : 0},

                            'title bbox' : 
                                {'boxstyle' : 'square',
                                'facecolor' : 'white',
                                'edgecolor' : 'white',
                                'linewidth' : 0,
                                'alpha' : 1},

                            'repSpec lw' : 1,
                            'repSmooth lw' : 2,
                            'title weight' : 1.3,
                            'title position' : (0.5, 1.),

                            'label position' : (0.5, 0.8),
                            'line colors' : {'H2' : 'darkred', 'Zn' : 'green', 'Ni' : 'red'},
                            'line alpha' : 0.5,
                            'main line color' : 'k',
                            'smoothed line color' : plt.cm.Dark2(1),
                            'plot start' : 565,
                            'plot end' : 835,
                            'xticks' : [600, 700, 800],
                            'hspace' : 0.0, 'wspace' : 0.0

                            }
          }            

agg_sers_params = {'titleBbox' : 
                                {'boxstyle' : 'square',
                                'facecolor' : 'white',
                                'edgecolor' : 'white',
                                'linewidth' : 0,
                                'alpha' : 1},

                'titleWeight' : 1.3,
                'titlePosition' : (0.5, 0.993),

                'titleHAlign' : 'center', 'titleVAlign' : 'center',
                'legendTitlesize' : 18,
                'laserColors' : {532 : 'green', 633 : 'red', 785 : 'darkred'}
                }        

agg_ext_params = {'titleBbox' : 
                                {'boxstyle' : 'square',
                                'facecolor' : 'white',
                                'edgecolor' : 'white',
                                'linewidth' : 0,
                                'alpha' : 1},

                'titleWeight' : 1.3,
                'titlePosition' : (0.5, 1),
                'titleHAlign' : 'center', 
                'titleVAlign' : 'center',
                'legendTitlesize' : 18,
                'figRect' : [0, 0, 0.85, 1], 
                'cbarLeft' : 0.85, 
                'cbarWidth' : 0.05,
                'cmap' : 'jet_r', 
                'mainAlpha' : 0.7, 
                'mainLw' : 3, 
                'nullColor' : 'grey', 
                'nullAlpha' : 0.5, 
                'nullLw' : 0.5
                }

bpc_col_dict = {'jet': 
              {'Lu': (0.5, 0.0, 0.0, 1.0), 
               'Er': 'goldenrod', 
               'Tb': (0.13598987982289687, 1.0, 0.8317520556609741, 1.0), 
               'Sm': (0.0, 0.0, 0.803030303030303, 1.0)},
              'Dark2':
              {'Lu': (0.10588235294117647, 0.6196078431372549, 0.4666666666666667, 1.0),
               'Er': (0.9058823529411765, 0.1607843137254902, 0.5411764705882353, 1.0),
               'Tb': (0.8509803921568627, 0.37254901960784315, 0.00784313725490196, 1.0), 
               'Sm': (0.4588235294117647, 0.4392156862745098, 0.7019607843137254, 1.0)
               }
            }



