Newer
Older
import scipy
import scipy.signal
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import pint
from ..data import *
from ..fitting import *
# Setup pint
SI = pint.UnitRegistry()
SI.setup_matplotlib()
SI.default_format = '~P'
# Colors
# https://arxiv.org/abs/2107.02270
petroff_colors = ["#3f90da", "#ffa90e", "#bd1f01", "#94a4a2", "#832db6", "#a96b59", "#e76300", "#b9ac70", "#717581", "#92dadd"]
cmap_petroff_10 = mpl.colors.ListedColormap(petroff_colors, 'Petroff 10')
mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=petroff_colors)
cmap_petroff_gradient = mpl.colors.LinearSegmentedColormap.from_list('Petroff gradient', [petroff_colors[i] for i in (9,0,4,2,6,1)])
cmap_petroff_gradient.set_under(petroff_colors[3])
cmap_petroff_gradient.set_over(petroff_colors[7])
#mpl.rcParams['image.cmap'] = cmap_petroff_gradient
cmap_petroff_bipolar = mpl.colors.LinearSegmentedColormap.from_list('Petroff bipolar', [petroff_colors[i] for i in (2,6,1,3,9,0,4)])
cmap_petroff_bipolar.set_under(petroff_colors[5])
cmap_petroff_bipolar.set_over(petroff_colors[8])
# Matplotlib options
mpl.rcParams.update({
'figure.figsize': (8, 5), # Note: overwritten when using the %matplotlib magics
'figure.dpi': 120, # Note: overwritten when using the %matplotlib magics
'figure.constrained_layout.use': True,
'legend.fontsize': 'x-small',
'legend.title_fontsize': 'small',
'grid.color': '#DDD',
})
# Utility methods
def ax_set(ax, swap_xy=False, **kwargs):
if swap_xy:
nkwargs = {}
for k in kwargs:
nk = (('y' if k[0]=='x' else 'x') + k[1:]) if k[0] in 'xy' else k
nkwargs[nk] = kwargs[k]
ax.set(**nkwargs)
else:
ax.set(**kwargs)