Signal Analyzer Measurements (2)
Table of Contents
1 Initialization (loading Modules and Data)
2 Testing
3 Plotting Field dependence of persistend / static field
3.1 Crosses
3.2 Empty Cross
3.3 Measurement Plan #5
4 Field Sweeps
4.1 First field Sweeping Experiments
4.2 Field Sweeps in Measurement Plan #2
4.2.1 All new measurements together
4.2.2 Δ1 T Sweeps
4.2.3 Compare 2T → 1T
4.2.4 Compare .5 → -.5 T
4.2.5 Group by Sweep Rates (Compare Crosses/Empty)
4.2.6 Low Fields
4.3 Measurement Plan #2 / #3
4.3.1 25 mT Sweeps
4.3.1.1 Diff Sweeprates (\(- M_S \rightarrow -25 \rightarrow 25\) mT)
4.3.1.2 SR + Plusses + Empty
4.3.1.3 Temp Effect
4.3.2 Measurement Plan #2
4.4 Constant Field Range (\(\Delta B = 50\) mT) #12
5 Evaluate Temperature Data
6 Testing
Initialization (loading Modules and Data)
[1]:
# Basic Plotting libraries
import matplotlib.pyplot as plt
import matplotlib
import seaborn as sns
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
# Math / Science Libraries
import pandas as pd
import numpy as np
from scipy import constants, stats
from sklearn.cluster import KMeans
import os, sys, time, re, logging # System Modules
from glob import glob # Readout Files in Directories
import datetime
# Interactive widgets
import ipywidgets
import IPython
from IPython.display import display
logging.basicConfig(level=logging.WARNING)
%load_ext autoreload
Important Variables
[2]:
params = {
'figure.dpi': 300,
'figure.figsize': (16,9),
'figure.subplot.hspace': 0.3,
'figure.subplot.wspace': 0.3,
'savefig.transparent': False,
'savefig.bbox': 'tight',
'savefig.pad_inches': 0.1,
}
matplotlib.rcParams.update(params)
save_figures = False
Change Directory to see data
It is important for the scripts to run in the ana repository where all data can be found in the data subdirectory.
[3]:
import os
os.chdir('../../ana')
os.getcwd()
[3]:
'/Users/jp/Projects/Code/lab-book/ana'
[4]:
%autoreload
import ana
#logging.basicConfig(level=logging.DEBUG)
eva = ana.HandleM(directory='data', drop_unused_columns=False)
def get_info(eva):
info = eva.info
sa = info[info['type'] == 'SA']
raw = info[info['type'] == 'RAW']
vh_idx = []
mfn_idx = []
for nr, t in info['technique'].items():
if 'VH' in t: vh_idx += [nr]
elif 'MFN' in t: mfn_idx += [nr]
vh = info.loc[vh_idx]
mfn = info.loc[mfn_idx]
groups = dict(vh=vh, mfn=mfn, sa=sa, raw=raw)
return info, groups
# Set Plotting Style
def set_sns(**style):
plt.rcParams['savefig.dpi'] = style.get('dpi', 300)
plt.rcParams['figure.autolayout'] = False
figsize = style.get('figsize', (8, 6))
plt.rcParams['figure.figsize'] = figsize
plt.rcParams['axes.labelsize'] = 18
plt.rcParams['axes.titlesize'] = 20
plt.rcParams['font.size'] = 16
plt.rcParams['lines.linewidth'] = 2.0
plt.rcParams['lines.markersize'] = 8
plt.rcParams['legend.fontsize'] = 14
if style.get('default'):
%matplotlib inline
def_size = 'talk'
def_style = 'darkgrid'
elif style.get('notebook'):
%matplotlib notebook
def_size = 'notebook'
def_style = 'ticks'
sns.set(style.get('size', def_size),
style.get('style', def_style),
style.get('palette', 'deep'),
style.get('font', 'sans-serif'),
style.get('font-scale', 1))
if style.get('grid'):
plt.rcParams['axes.grid'] = True
plt.rcParams['grid.linestyle'] = '--'
if style.get('latex'):
plt.rcParams['text.usetex'] = True # True activates latex output in fonts!
plt.rcParams[
'text.latex.preamble'] = ''
else:
plt.rcParams['text.usetex'] = False
def set_plot_settings(**kwargs):
plt.xscale('log')
plt.yscale('log')
xmin, xmax = kwargs.get('xlim', (None, None))
ymin, ymax = kwargs.get('ylim', (None, None))
if xmin:
plt.xlim(xmin, xmax)
if ymin:
plt.ylim(ymin, ymax)
plt.legend(loc=kwargs.get('legend_location', 'best'))
set_sns(default=True, grid=True, palette='Set3')
WARNING:Handle:Start loading folder: data/MFN/m481/m481_Plusses_45deg_RAW_Gradio_B_-0.065T_20200716_1300_I1-5-10_I2-8-6_GBIP8-14-7_Vin-5V_R11-1MO_R12-13.5kO_R13-0_R21-1MO_C11-1_C21-1_T-30K_gate-0V.dat
ERROR:Handle:Not a valid Measurement Nr. (494.0.1000000000)
Debug kind/struct/f (_, Plusses, data/MFN/m494.0.1000000000/m494.0.1000000000_Plusses_90deg_RAW_Parallel_B_pm-25mT_20200804_1300_I2-13-1_GBIP8-14-7_Vin-5V_R21-1MO_C21-1_T-30K_gate-0V.dat)
/Users/jp/Projects/Code/lab-book/ana/ana/handle.py:103: DtypeWarning: Columns (0,1,2,3,4,5,6,7,8,9,10,11) have mixed types.Specify dtype option on import or set low_memory=False.
self.load_folder(file_list, **kwargs)
ERROR:Handle:Not a valid Measurement Nr. (456.6.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.6.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.20.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.20.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.40.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.40.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.60.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.60.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.11.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.11.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.31.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.31.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.51.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.51.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.13.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.13.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.33.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.33.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.53.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.53.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.8.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.8.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.4.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.4.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.22.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.22.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.42.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.42.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.17.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.17.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.37.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.37.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.57.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.57.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.26.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.26.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.46.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.46.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.19.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.19.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.39.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.39.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.59.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.59.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.2.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.2.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.24.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.24.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.44.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.44.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.15.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.15.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.35.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.35.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.55.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.55.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.28.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.28.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.48.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.48.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.16.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.16.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.36.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.36.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.56.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.56.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.1.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.1.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.27.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.27.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.47.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.47.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.18.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.18.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.38.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.38.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.58.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.58.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.3.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.3.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.25.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.25.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.45.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.45.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.14.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.14.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.34.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.34.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.54.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.54.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.29.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.29.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.49.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.49.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.7.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.7.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.21.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.21.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.41.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.41.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.61.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.61.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.10.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.10.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.30.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.30.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.50.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.50.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.12.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.12.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.32.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.32.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.52.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.52.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.9.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.9.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.5.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.5.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.23.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.23.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (456.43.0)
Debug kind/struct/f (_, Plusses, data/MFN/m456/m456.43.0_Plusses_80deg_RAW_Gradio_B_0.0T_20200407_1000_I1-1-13_I2-8-6_GBIP8-14-7_Vin-2.5V_R11-1MO_R12-15kO_R13-0_R21-1MO_C11-1_C21-1_T-15K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (494.0.2000000000)
Debug kind/struct/f (_, Plusses, data/MFN/m494.0.2000000000/m494.0.2000000000_Plusses_90deg_RAW_Parallel_B_pm-25mT_20200804_1300_I2-13-1_GBIP8-14-7_Vin-5V_R21-1MO_C21-1_T-30K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (494.0.1500000000)
Debug kind/struct/f (_, Plusses, data/MFN/m494.0.1500000000/m494.0.1500000000_Plusses_90deg_RAW_Parallel_B_pm-25mT_20200804_1300_I2-13-1_GBIP8-14-7_Vin-5V_R21-1MO_C21-1_T-30K_gate-0V.dat)
ERROR:Handle:Not a valid Measurement Nr. (494.0.0500000000)
Debug kind/struct/f (_, Plusses, data/MFN/m494.0.0500000000/m494.0.0500000000_Plusses_90deg_RAW_Parallel_B_pm-25mT_20200804_1300_I2-13-1_GBIP8-14-7_Vin-5V_R21-1MO_C21-1_T-30K_gate-0V.dat)
WARNING:Handle:Regex doesn't match: data/SR785/MFN_go to zero2.dat
WARNING:Handle:Regex doesn't match: data/SR785/Routine MFN No3.dat
/Users/jp/Projects/Code/lab-book/ana/ana/handle.py:103: DtypeWarning: Columns (0,1,2,3,4,5,6,7,8,9,10,11) have mixed types.Specify dtype option on import or set low_memory=False.
self.load_folder(file_list, **kwargs)
WARNING:Handle:Regex doesn't match: data/SR785/Test parallel down.dat
WARNING:Handle:Regex doesn't match: data/SR785/Routine MFN.dat
WARNING:Handle:Regex doesn't match: data/SR785/Routine MFN No2.dat
WARNING:Handle:Regex doesn't match: data/SR785/MFN_go to zero.dat
WARNING:Handle:Regex doesn't match: data/SR785/Test2 parallel down.dat
WARNING:Handle:Regex doesn't match: data/SR785/test_n1.dat
WARNING:Handle:Regex doesn't match: data/SR785/test_SR785_length5.dat
WARNING:Handle:Regex doesn't match: data/SR785/test_SR785_length.dat
WARNING:Handle:Regex doesn't match: data/SR785/test_SR785_length4.dat
WARNING:Handle:Regex doesn't match: data/SR785/test_SR785_length6.dat
WARNING:Handle:Regex doesn't match: data/SR785/test.dat
WARNING:Handle:Regex doesn't match: data/SR785/test_SR785_length3.dat
WARNING:Handle:Regex doesn't match: data/SR785/test_SR785_length2.dat
WARNING:Handle:Regex doesn't match: data/SR785/Routine Parallel measurements.dat
WARNING:Handle:Regex doesn't match: data/SR785/f.dat
/Users/jp/Projects/Code/lab-book/ana/ana/handle.py:103: DtypeWarning: Columns (0,1,2,3,4,5,6,7) have mixed types.Specify dtype option on import or set low_memory=False.
self.load_folder(file_list, **kwargs)
WARNING:Handle:Regex doesn't match: data/Hloop/cooldown_2020-02-27.dat
WARNING:Handle:Regex doesn't match: data/Hloop/ls_temp1.dat
[5]:
# Set Info
info, groups = get_info(eva)
sa = groups['sa']
raw = groups['raw']
vh = groups['vh']
mfn = groups['mfn']
[6]:
info
[6]:
| type | Nr | filename | folder | technique | Structure | Additional | f_count | f_mean | f_var | ... | Time_mean | Time_var | Time_min | Time_max | Time | Num | Rate | Avg | downsample | NofSpectra | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 481.0 | SA | 481 | m481_Plusses_45deg_RAW_Gradio_B_0.065T_2020071... | Plusses | 45deg_RAW_Gradio_B_0.065T_20200716_1300_I1-5-1... | 8219 | 514.375 | 87968.984375 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ||
| 475.0 | SA | 475 | m475_routine.dat | NA | NA | routine | 0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | |
| 472.0 | SA | 472 | m472_Plusses_80deg_RAW_Gradio_B_0.090T_2020070... | Plusses | 80deg_RAW_Gradio_B_0.090T_20200703_1700_I1-5-1... | 14395 | 900.375 | 269831.276042 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ||
| 486.0 | SA | 486 | m486_routine.dat | NA | NA | routine | 0 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | |
| 444.0 | SA | 444 | m444_Plusses_45deg_RAW_Gradio_B_0.035T_2020032... | Plusses | 45deg_RAW_Gradio_B_0.035T_20200323_1700_I1-1-1... | 16379 | 1024.375 | 349333.359375 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ||
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 426.0 | SA | 426 | m426_cros_plu_emp_90deg_Hloop_down_Parallel_20... | NA | NA | cros_plu_emp_90deg_Hloop_down_Parallel_2020030... | 148654 | 30.00013 | 0.000011 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | |
| 54.0 | SA | 54 | M54_Plusses_0deg_Hloop_down__Gradio_20190317_1... | Plusses | 0deg_Hloop_down__Gradio_20190317_1800_I1-1-13_... | 7430 | 29.999829 | 0.000002 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | ||
| 142.0 | SA | 142 | m142_cros_plu_emp_-40deg_Hloop_up_Parallel_201... | NA | NA | cros_plu_emp_-40deg_Hloop_up_Parallel_20190403... | 300 | 30.000163 | 0.000004 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | |
| 427.3 | RAW | 427.3 | m427.3_plusses_90deg_30K_down_at_-14mT_single_... | plusses | 90deg_30K_down_at_-14mT_single_128Hz | NaN | NaN | NaN | ... | 7.738281 | 19.990585 | 0.0 | 15.476562 | 5120000.0 | 1024 | 0.0002 | 1 | True | 64 | ||
| 66.0 | SA | 66 | m66_cros_plu_emp_75deg_Hloop_up_Parallel_20190... | NA | NA | cros_plu_emp_75deg_Hloop_up_Parallel_20190320_... | 321 | 30.005377 | 0.000001 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
442 rows × 34 columns
[7]:
s, i = eva[361].fit()
fig, ax = eva.plot({361: ['Test', {}]})
x = np.logspace(-2, 0, 100)
ax.plot(x, (10**s * np.power(x,i)), 'r-')
#ax.set_xlim()
#ax.set_ylim(1e-7,10)
[7]:
[<matplotlib.lines.Line2D at 0x2884e8880>]
[8]:
#x, s
#np.power(x, i)*s
s, i
[8]:
(-6.212216272712935, -1.0869723661808137)
Testing
[9]:
fig, ax = plt.subplots(figsize=[12,9])
for nr, m in eva.data.items():
if isinstance(m, ana.SA): # SA Measurement
m.plot(ax=ax, label=nr)
elif isinstance(m, ana.RAW): # RAW Measurement
pass
#sa[i].plot(label=str(i), ax=ax, dont_set_plot_settings=True)
# Optionally show Background signal
#sa[i].plot(plot_y='Vy', label='%s (Vy)' % i[:4], ax=ax)
set_plot_settings(xlim=(1e-3, 1e1), ylim=(1e-9, 1e-1))
/Users/jp/Projects/Code/lab-book/ana/ana/plotting.py:180: UserWarning: Data has no positive values, and therefore cannot be log-scaled.
plt.yscale(kwargs.get('yscale', 'log'))
Plotting Field dependence of persistend / static field
Crosses
[10]:
tmp = {4: 277,
2: 318,
1.5: 317,
1: 274,
.5: 316,
.25: 315,
0: 280,
-.5725: 299,
-4: 294, }
lofm = {}
for i, j in tmp.items():
lofm.update({j: ['%s T' % i, {}]})
set_sns(default=True, grid=True,
style='ticks',
#palette='Paired',
latex=True,)
fig, ax = eva.plot(lofm, plot_settings=dict(title='Crosses ($90^\\circ$) Static Field dependence',
xlim=(1e-2, 5e0),
ylim=(1e-9, 1e-3),
))
if save_figures:
plt.savefig('img/static_crosses.png', dpi=300)
plt.savefig('img/static_crosses.pdf', dpi=300)
Empty Cross
[11]:
tmp = {4: 278,
2: 319,
1.5: 314,
1: 275,
.5: 313,
.25: 312,
0: 310,
-.572: 311,
-4: 295,}
lofm = {}
for i, j in tmp.items():
lofm.update({j: ['%s T' % i, {}]})
set_sns(default=True, grid=True,
style='ticks',
#palette='Paired',
latex=True,)
fig, ax = eva.plot(lofm, plot_settings=dict(title='Empty ($90^\\circ$) Static Field dependence',
xlim=(1e-2, 5e0),
ylim=(1e-9, 1e-3),
))
if save_figures:
plt.savefig('img/static_empty.png', dpi=300)
plt.savefig('img/static_empty.pdf', dpi=300)
Measurement Plan #5
[12]:
m = ana.Hloop(57)
tmp = {25: 360,
-25: 361
}
lofm = {}
for i, j in tmp.items():
lofm.update({j: ['%s mT' % i, {}]})
set_sns(default=True, grid=True,
style='ticks',
#palette='Paired',
latex=True,)
fig, ax = eva.plot(lofm,
fit_range=(2e-2, 1e0),
show_fit=True,
plot_settings=dict(title='Plusses ($90^\\circ$) Static Field after Saturation',
xlim=(1e-2, 1.6e0),
ylim=(3e-7, 1e-3),
),
f_settings=dict(
ymin=5e-5),
f2_settings=dict(disable=True))
ax = plt.gca()
with sns.color_palette('deep'):
inset = inset_axes(ax, width='100%', height='90%',
bbox_to_anchor=(.48, .48, .4, .4),
bbox_transform=ax.transAxes)
m.plot_strayfield(inset, 'Strayfield', nolegend=True)
inset.legend(['Up ($-M_S \\rightarrow +M_S$)', 'Down ($+M_S \\rightarrow -M_S$)'])
inset.grid(b=True, alpha=.4)
inset.set_xlim(-30, 30)
inset.set_ylim(-.45, .65)
y1, y2 = -1, 2
a = m.down.Bx8.iloc[(m.down.B + 25).abs().idxmin()]
b = m.up.Bx8.iloc[(m.up.B - 25).abs().idxmin()]
inset.plot((-25, -25), (a, a), 'ro', alpha=.4)
inset.plot([+25, 25], [b,b], 'bo', alpha=.4)
#plt.savefig('img/static_25mT.png')
#plt.savefig('img/static_25mT.pdf')
Field Sweeps
[13]:
sweep_label = '$%s \\rightarrow %s$ T %s ($%s \\frac{mT}{min}$)'
First field Sweeping Experiments
With multiple separate Spectra measured during the sweep.
Measurements 302 - 309
[14]:
lofm = {302: '2 T down C ($48 \\frac{mT}{min}$)',
303: '2 T up C ($48 \\frac{mT}{min}$)',
304: '2 T down P ($48 \\frac{mT}{min}$)',
305: '2 T down \#1 ($48 \\frac{mT}{min}$)',
306: '2 T down P ($7.86 \\frac{mT}{min}$)',
307: '.25 T down/up P ($11.86 \\frac{mT}{min}$)',
308: '.5 T down/up P ($23.7 \\frac{mT}{min}$)',
309: '.1 T down/up P ($4.7 \\frac{mT}{min}$)',
}
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True)
fig, ax = plt.subplots(figsize=(16,12))
for i,j in lofm.items():
label = 'm%s: %s' % (i, j)
eva[i].plot(label=label, ax=ax, dont_set_plot_settings=True)
eva[i]._draw_oneoverf(ax, xmin=1e-2, ymin=1e-5, mean_y=3e-7, factor=100)
eva[i]._draw_oneoverf(ax, ymin=1e-3, alpha=2, plot_style='b--', an_color='blue')
eva[i]._set_plot_settings(xlim=(1e-2, 1e1), ylim=(1e-8, 5e-2), title='($90^\circ$) Field sweeps',
grid=dict(which='minor', color='#ffff99', linestyle='--', alpha=.3))
#plt.grid(b=True, which='major', color='#cccccc', linestyle='-.')
Field Sweeps in Measurement Plan #2
One Single Spectrum measured (@1.5 or 0.8 Hz).
25 Averages for single spectrum.
Measurements 320 – 329
All new measurements together
[15]:
#t2 = pd.DataFrame(to_show).T
#t2.columns = ['Fields', 'Struct', 'SR']
#g = t2.groupby('Struct')
#set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
# palette='Dark2')
#for key, group in g:
# lofm = eva.get_lofm(group, '$%s \\rightarrow %s$ T %s ($%s \\frac{mT}{min}$)')
# eva.plot(lofm)
[16]:
to_show = {
320: [(2,1), 'Empty', 9.4],
321: [(2,1), 'Empty', 4.7],
323: [(1,-1), 'Empty', 9.4],
324: [(1,-1), 'Empty', 4.7],
325: [(2,1), 'Crosses', 9.4],
326: [(2,1), 'Crosses', 4.7],
329: [(1,-1), 'Crosses', 9.4],
330: [(1,-1), 'Crosses', 4.7],
327: [(.5,-.5), 'Crosses', 9.4],
328: [(.5,-.5), 'Crosses', 4.7],
331: [(.5,-.5), 'Crosses', 9.4],
333: [(.75,-.75), 'Crosses', 7],
332: [(.3,-.3), 'Crosses', 2.8],
334: [(.1,-.1), 'Crosses', .093],
322: [(.5,-.5), 'Empty', 9.4],
335: [(.5,-.5), 'Empty', 9.4],
336: [(.5,-.5), 'Plusses', 9.4],
337: [(.05,-.05), 'Plusses', 0.93],
338: [(.025,-.025), 'Plusses', 0.46],
339: [(0,.5), 'Plusses', 0.46],
#302: [(2,-2), 'Crosses', 48],
#303: [(-2,2), 'Crosses', 48],
#305: [(2,-2), 'Empty', 48],
}
lofm = eva.get_lofm_sweeps(to_show, '$%s \\rightarrow %s$ T %s ($%s \\frac{mT}{min}$)')
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='Dark2')
eva.plot(lofm)
[16]:
(<Figure size 1152x864 with 1 Axes>,
<AxesSubplot:title={'center':'($90^\\circ$) Field sweeps'}, xlabel='$f$ [Hz]', ylabel='$S_{V_H}$ [${V^2}$/{Hz}]'>)
Δ1 T Sweeps
[17]:
lofm = {}
to_show = {
320: [(2,1), 'Empty', 9.4],
321: [(2,1), 'Empty', 4.7],
325: [(2,1), 'Crosses', 9.4],
326: [(2,1), 'Crosses', 4.7],
327: [(.5,-.5), 'Crosses', 9.4],
328: [(.5,-.5), 'Crosses', 4.7],
322: [(.5,-.5), 'Empty', 9.4],
335: [(.5,-.5), 'Empty', 9.4],
331: [(.5,-.5), 'Crosses', 9.4],
336: [(.5,-.5), 'Plusses', 9.4],
}
for nr, content in to_show.items():
lofm[nr] = [sweep_label % (
content[0][0],
content[0][1],
content[1],
content[2],
),{}]
#lofm = eva.get_lofm_sweeps(to_show, '$%s \\rightarrow %s$ T %s ($%s \\frac{mT}{min}$)')
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='Dark2')
sns.set_palette(sns.color_palette("hls", 10))
eva.plot(lofm, plot_settings=dict(title='($90^\\circ$) Field Sweeps ($\\Delta 1 T$)'))
if save_figures:
plt.savefig('img/sweep_delta1T.png', dpi=300)
plt.savefig('img/sweep_delta1T.pdf', dpi=300)
#eva[i]._set_plot_settings(xlim=(1e-2, 1e0), ylim=(1e-7, 5e-2), title='($90^\circ$) Field sweeps',
# grid=dict(which='minor', color='#ffff99', linestyle='--', alpha=.5))
#plt.grid(b=True, which='minor', color='#cccccc', linestyle='-.', alpha=.3)
Compare 2T → 1T
[18]:
lofm = {}
to_show = {
320: [(2,1), 'Empty', 9.4],
321: [(2,1), 'Empty', 4.7],
# 323: [(1,-1), 'Empty', 9.4],
# 324: [(1,-1), 'Empty', 4.7],
325: [(2,1), 'Crosses', 9.4],
326: [(2,1), 'Crosses', 4.7],
# 327: [(.5,-.5), 'Crosses', 9.4],
# 328: [(.5,-.5), 'Crosses', 4.7],
# 329: [(1,-1), 'Crosses', 9.4],
# 322: [(.5,-.5), 'Empty', 9.4],
}
for nr, content in to_show.items():
lofm[nr] = '$%s \\rightarrow %s$ T %s ($%s \\frac{mT}{min}$)' % (
content[0][0],
content[0][1],
content[1],
content[2],
)
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True, palette='Paired')
#sns.set(pal)
fig, ax = plt.subplots(figsize=(16,12))
for i,j in lofm.items():
label = 'm%s: %s' % (i, j)
eva[i].plot(label=label, ax=ax, dont_set_plot_settings=True)
eva[i]._draw_oneoverf(ax, xmin=1e-2, ymin=1e-6)
eva[i]._draw_oneoverf(ax, ymin=1e-3, alpha=2, plot_style='b--', an_color='blue')
eva[i]._set_plot_settings(xlim=(1e-2, 1e0), ylim=(1e-7, 5e-2), title='($90^\circ$) Field sweeps',
grid=dict(which='minor', color='#ffff99', linestyle='--', alpha=.5))
plt.grid(b=True, which='minor', color='#cccccc', linestyle='-.', alpha=.3)
Compare .5 → -.5 T
[19]:
lofm = {}
to_show = {
327: [(.5,-.5), 'Crosses', 9.4],
328: [(.5,-.5), 'Crosses', 4.7],
331: [(.5,-.5), 'Crosses', 9.4],
336: [(.5,-.5), 'Plusses', 9.4],
322: [(.5,-.5), 'Empty', 9.4],
335: [(.5,-.5), 'Empty', 9.4],
}
for nr, content in to_show.items():
lofm[nr] = '$%s \\rightarrow %s$ T %s ($%s \\frac{mT}{min}$)' % (
content[0][0],
content[0][1],
content[1],
content[2],
)
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='Paired')
#sns.set(pal)
fig, ax = plt.subplots(figsize=(16,12))
for i,j in lofm.items():
label = 'm%s: %s' % (i, j)
eva[i].plot(label=label, ax=ax, dont_set_plot_settings=True)
eva[i]._draw_oneoverf(ax, xmin=1e-2, ymin=1e-6)
eva[i]._draw_oneoverf(ax, ymin=1e-3, alpha=2, plot_style='b--', an_color='blue')
eva[i]._set_plot_settings(xlim=(1e-2, 1e0), ylim=(1e-7, 5e-2), title='($90^\circ$) Field sweeps',
grid=dict(which='minor', color='#ffff99', linestyle='--', alpha=.5))
plt.grid(b=True, which='minor', color='#cccccc', linestyle='-.', alpha=.3)
Group by Sweep Rates (Compare Crosses/Empty)
[20]:
lofm = {}
to_show = {
320: [(2,1), 'Empty', 9.4],
321: [(2,1), 'Empty', 4.7],
325: [(2,1), 'Crosses', 9.4],
326: [(2,1), 'Crosses', 4.7],
323: [(1,-1), 'Empty', 9.4],
324: [(1,-1), 'Empty', 4.7],
329: [(1,-1), 'Crosses', 9.4],
327: [(.5,-.5), 'Crosses', 9.4],
328: [(.5,-.5), 'Crosses', 4.7],
322: [(.5,-.5), 'Empty', 9.4],
}
for nr, content in to_show.items():
if content[2] == 9.4:
continue
lofm[nr] = '$%s \\rightarrow %s$ T %s ($%s \\frac{mT}{min}$)' % (
content[0][0],
content[0][1],
content[1],
content[2],
)
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True, palette='Paired')
#sns.set(pal)
fig, ax = plt.subplots(figsize=(16,12))
for i,j in lofm.items():
label = 'm%s: %s' % (i, j)
eva[i].plot(label=label, ax=ax, dont_set_plot_settings=True)
eva[i]._draw_oneoverf(ax, xmin=1e-2, ymin=1e-6)
eva[i]._draw_oneoverf(ax, ymin=1e-3, alpha=2, plot_style='b--', an_color='blue')
eva[i]._set_plot_settings(xlim=(1e-2, 1e0), ylim=(1e-7, 5e-2), title='($90^\circ$) Field sweeps (slow SR)',
grid=dict(which='minor', color='#ffff99', linestyle='--', alpha=.5))
plt.grid(b=True, which='minor', color='#cccccc', linestyle='-.', alpha=.3)
[21]:
lofm = {}
for nr, content in to_show.items():
if content[2] == 4.7:
continue
lofm[nr] = '$%s \\rightarrow %s$ T %s ($%s \\frac{mT}{min}$)' % (
content[0][0],
content[0][1],
content[1],
content[2],
)
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True, palette='Paired')
#sns.set(pal)
fig, ax = plt.subplots(figsize=(16,12))
for i,j in lofm.items():
label = 'm%s: %s' % (i, j)
eva[i].plot(label=label, ax=ax, dont_set_plot_settings=True)
eva[i]._draw_oneoverf(ax, xmin=1e-2, ymin=1e-6)
eva[i]._draw_oneoverf(ax, ymin=1e-3, alpha=2, plot_style='b--', an_color='blue')
eva[i]._set_plot_settings(xlim=(1e-2, 1e0), ylim=(1e-7, 5e-2), title='($90^\circ$) Field sweeps (fast SR)',
grid=dict(which='minor', color='#ffff99', linestyle='--', alpha=.5))
plt.grid(b=True, which='minor', color='#cccccc', linestyle='-.', alpha=.3)
Low Fields
[22]:
lofm = {}
to_show = {
333: [(.75,-.75), 'Crosses', 7],
332: [(.3,-.3), 'Crosses', 2.8],
334: [(.1,-.1), 'Crosses', .093],
337: [(.05,-.05), 'Plusses', 0.93],
338: [(.025,-.025), 'Plusses', 0.46],
340: [(.025,-.025), 'Empty', 0.46],
339: [(0,.5), 'Plusses', 0.46],
341: [(.005, -.005), 'Plusses', 0.1]
}
for nr, content in to_show.items():
if content[2] == 9.4:
continue
lofm[nr] = ['$%s \\rightarrow %s$ T %s ($%s \\frac{mT}{min}$)' % (
content[0][0],
content[0][1],
content[1],
content[2],
),{}]
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='Dark2')
eva.plot(lofm, plot_settings=dict(title='($90^\\circ$) Field Sweeps ($B \\leq \\pm 0.75 T$)'),
f_settings=dict(xmin=5e-2, ymin=1e-5))
if save_figures:
plt.savefig('img/sweep_lowfield.png', dpi=300)
plt.savefig('img/sweep_lowfield.pdf', dpi=300)
[24]:
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='Dark2')
eva.plot(lofm,
plot_settings=dict(
title='($90^\\circ$) Field Sweeps ($B \\leq \\pm 0.75 T$)',
xlim=(1e-2, 1.6e0)),
f_settings=dict(
xmin=5e-2,
ymin=1e-5))
if save_figures:
plt.savefig('img/sweep_lowfield2.png', dpi=300)
plt.savefig('img/sweep_lowfield2.pdf', dpi=300)
Measurement Plan #2 / #3 (25 mT Sweeps)
Diff Sweeprates (\(- M_S \rightarrow -25 \rightarrow 25\) mT)
[25]:
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='Paired')
#sns.color_palette('muted', 4)
lofm = {}
to_show = {
354: [("-M_s \\rightarrow -25",25), 'Plusses', 2],
351: [("-M_s \\rightarrow -25",25), 'Plusses', 1],
353: [("-M_s \\rightarrow -25",25), 'Plusses', .25],
352: [("-M_s \\rightarrow -25",25), 'Plusses', .1],
}
for nr, content in to_show.items():
if content[2] == 9.4:
continue
lofm[nr] = [sweep_label % (
content[0][0],
content[0][1],
content[1],
content[2],
),{}]
eva.plot(lofm,
fit_range=(2e-2, 5e-1),
show_fit=True,
plot_settings=dict(
title='($90^\\circ$) Field Sweeps ($B = \\pm 25 mT$, diff SR)',
xlim=(1e-2, 2e0),
ylim=(4e-7, 5e-2)),
f_settings=dict(
xmin=5e-2,
ymin=1e-5))
ax = plt.gca()
with sns.color_palette('Dark2'):
inset = inset_axes(ax, width='100%', height='90%',
bbox_to_anchor=(.06, .05, .3, .35),
bbox_transform=ax.transAxes)
m.plot_strayfield(inset, 'Strayfield', nolegend=True)
inset.legend(['Up ($-M_S \\rightarrow +M_S$)', 'Down ($+M_S \\rightarrow -M_S$)'])
inset.grid(b=True, alpha=.4)
inset.set_xlim(-50, 50)
inset.set_ylim(-.45, .65)
y1, y2 = -1, 2
inset.fill([-25, -25, 25, 25], [y1, y2, y2, y1], 'blue', alpha=.1)
#inset.plot([8.3, 8.3], [y1, y2], 'b-.', alpha=.4)
# Only save if necessary
if save_figures:
plt.savefig('img/sweep_25mT_SR.png', dpi=300)
plt.savefig('img/sweep_25mT_SR.pdf', dpi=300)
SR + Plusses + Empty
[26]:
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='Paired')
lofm = {}
to_show = {
349: [("-M_s \\rightarrow 25",-25), 'Empty', 0.5, {}],
340: [(25,-25), 'Empty', 0.46, {}],
338: [(25,-25), 'Plusses', 0.46, {}],
342: [("+M_s \\rightarrow 25 \\rightarrow 8.3",-25), 'Plusses', +0.11, {}],
343: [("-M_s \\rightarrow -25 \\rightarrow -8.3",25), 'Plusses', 0.11, {'color': 'red'}],
}
for nr, content in to_show.items():
if content[2] == 9.4:
continue
lofm[nr] = ['$%s \\rightarrow %s$ mT %s ($%s \\frac{mT}{min}$)' % (
content[0][0],
content[0][1],
content[1],
content[2],
),content[3]]
eva.plot(lofm,
plot_settings=dict(
title='($90^\\circ$) Field Sweeps ($B = \\pm 25 mT$)',
xlim=(6e-3, 1.6e0),
#ylim=()
),
f_settings=dict(
xmin=5e-2,
ymin=1e-5))
ax = plt.gca()
with sns.color_palette('Dark2'):
inset = inset_axes(ax, width='100%', height='90%',
bbox_to_anchor=(.45, .75, .23, .23),
bbox_transform=ax.transAxes)
m.plot_strayfield(inset, 'Strayfield', nolegend=True)
inset.legend(['Up', 'Down'])
inset.grid(b=True, alpha=.4)
inset.set_xlim(-30, 30)
inset.set_ylim(-.45, .65)
y1, y2 = -1, 2
inset.fill([-25, -25, -8.3, -8.3], [y1, y2, y2, y1], 'red', alpha=.2)
inset.fill([25, 25, 8.3, 8.3], [y1, y2, y2, y1], 'green', alpha=.2)
inset.fill([25, 25, -25, -25], [y1, y2, y2, y1], 'blue', alpha=.05)
#inset.plot([8.3, 8.3], [y1, y2], 'b-.', alpha=.8)
# Only save if necessary
if save_figures:
plt.savefig('img/sweep_25mT.png', dpi=300)
plt.savefig('img/sweep_25mT.pdf', dpi=300)
Temp Effect
[27]:
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='muted')
lofm = {}
to_show = {
355: [("-M_s \\rightarrow -25",25), 'Plusses', 0.5, 25],
356: [("-M_s \\rightarrow -25",25), 'Plusses', 0.5, 20],
#357: [("-M_s \\rightarrow -25",25), 'Plusses', 0.5, 15],
358: [("-M_s \\rightarrow -25",25), 'Plusses', 0.5, 10],
359: [("-M_s \\rightarrow -25",25), 'Plusses', 0.5, 5],
}
for nr, content in to_show.items():
lofm[nr] = ['$%s\\, K$' % (
content[3],
),{}]
t = '($90^\\circ$) Field Sweeps ($B = \\pm 25 mT$) ' + \
'$%s \\rightarrow %s$ mT %s ($%s \\frac{mT}{min}$)' % (
content[0][0],
content[0][1],
content[1],
content[2])
eva.plot(lofm,
plot_settings=dict(
title=t,
xlim=(1e-2, 1.6e0),
ylim=(6e-7, 5e-2)
),
f_settings=dict(
xmin=5e-2,
ymin=1e-5, disable=True))
# Only save if necessary
if save_figures:
plt.savefig('img/sweep_25mT_T.png', dpi=300)
plt.savefig('img/sweep_25mT_T.pdf', dpi=300)
Measurement Plan #2
[28]:
for nr, i in info[info.index > 385]['Additional'].items():
if i == 'Temp':
continue
r = re.match('T5K.*(-[0-9]*) mT to (-[0-9]*) mT', i)
if r:
print(r.groups())
('-25', '-75')
('-75', '-125')
('-275', '-325')
('-225', '-275')
('-300', '-350')
('-625', '-575')
('-25', '-75')
('-400', '-450')
('-500', '-550')
('-25', '-75')
('-175', '-225')
('-575', '-625')
('-125', '-175')
('-450', '-500')
[29]:
plt.style.use('ggplot')
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='Paired')
lofm = {}
to_show = {
342: [("+M_s \\rightarrow 25 \\rightarrow 8.3",-25), 'Plusses', +0.11, {}],
343: [("-M_s \\rightarrow -25 \\rightarrow -8.3",25), 'Plusses', 0.11, {}],
346: [("+M_s \\rightarrow 36.56 \\rightarrow -72.6",-291.13), 'Plusses', 0.5,{}],
347: [("-M_s \\rightarrow 36.56",-291), 'Plusses', 0.5,{}],
348: [("-M_s \\rightarrow 36.56",-291), 'Empty', 0.5, {'color': 'darkgreen'}],
345: [("+M_s \\rightarrow -291 \\rightarrow -341.6",-443), 'Plusses', 0.5, {'color': 'red'}],
344: [("+M_s \\rightarrow -443 \\rightarrow -499",-611), 'Plusses', +2.35, {'color': 'orange'}],
}
for nr, content in to_show.items():
if content[2] == 9.4:
continue
options = content[3]
lofm[nr] = ['$%s \\rightarrow %s$ mT %s ($%s \\frac{mT}{min}$)' % (
content[0][0],
content[0][1],
content[1],
content[2],
),options]
eva.plot(lofm,
fit_range=(2e-2, 5e-1),
show_fit=False,
plot_settings=dict(
title='($90^\\circ$) Field Sweeps (Measurement Plan \#2)',
xlim=(6e-3, 1.6e0),
#ylim=()
),
f_settings=dict(
xmin=6e-3,
ymin=1e-5))
ax = plt.gca()
with sns.color_palette('muted'):
inset = inset_axes(ax, width='100%', height='90%',
bbox_to_anchor=(.28, .73, .29, .24),
bbox_transform=ax.transAxes)
m.plot_strayfield(inset, 'Strayfield', nolegend=True)
inset.legend(['Up ($-M_S \\rightarrow +M_S$)', 'Down ($+M_S \\rightarrow -M_S$)'])
inset.grid(b=True, alpha=.4)
inset.set_xlim(-650, 50)
inset.set_ylim(-.4, .6)
y1, y2 = -1, 2
inset.fill([-25, -25, 25, 25], [y1, y2, y2, y1], 'blue', alpha=.1)
inset.fill([-291.13, -291.13, 36.56, 36.56], [y1, y2, y2, y1], 'green', alpha=.1)
inset.fill([-611, -611, -443, -443], [y1, y2, y2, y1], 'orange', alpha=.1)
inset.fill([-291, -291, -443, -443], [y1, y2, y2, y1], 'darkred', alpha=.1)
# Only save if necessary
#plt.savefig('sweep_measplan2.png', dpi=300)
#if save_figures:
# plt.savefig('img/sweep_measplan2.png', dpi=300)
# plt.savefig('img/sweep_measplan2.pdf', dpi=300)
Constant Field Range (\(\Delta B = 50\) mT) #12
[38]:
#plt.style.use('ggplot')
c1 = sns.color_palette("hls", 15)
#sns.color_palette("Reds_r", 14)
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='deep')
sns.set_palette(c1)
lofm = {}
to_show = {
383: [("+M_s \\rightarrow 25",-25), 'Plusses', +0.5, {}],
384: [("-25",-75), 'Plusses', +0.5, {'color': 'orange', 'linestyle': '--'}],
#385: [("+M_s \\rightarrow -25",-75), 'Plusses', +0.5, {}],
}
for i in range(6):
to_show.update(
{
(385+i): [("+M_s \\rightarrow -%d" % (-(i*50+25)),(-(i*50+25) - 50)), 'Plusses', +0.5, {}],
}
)
for i, j in enumerate([-(_*50+300) for _ in range(4)] + [-575]):
to_show.update(
{
(391+i): [("+M_s \\rightarrow -%d" % (j),(j - 50)), 'Plusses', +0.5, {}],
}
)
j = -625
to_show[397] = [("-M_s \\rightarrow -%d" % (j),(j + 50)), 'Plusses', +0.5, {}]
tmp = ''
for nr, content in to_show.items():
#if content[2] == 9.4:
# continue
#if nr not in [383, 384, 385]:
# continue
options = content[3]
lofm[nr] = ['$%s \\rightarrow %s$ mT %s ($%s \\frac{mT}{min}$)' % (
content[0][0],
content[0][1],
content[1],
content[2],
),options]
eva.plot(lofm,
plot_settings=dict(
title='($90^\\circ$) Field Sweeps (Measurement Plan \#12)',
xlim=(1e-2, 1.6e0),
ylim=(6e-9, 5e-1)
),
f_settings=dict(
xmin=1e-2,
ymin=3e-5),
f2_settings=dict(#disable=True
xmin=1e-2,
plot_style='k-.',
an_color='k'
),
)
ax = plt.gca()
with sns.color_palette(c1):
inset = inset_axes(ax, width='100%', height='90%',
bbox_to_anchor=(.28, .73, .29, .24),
bbox_transform=ax.transAxes)
m.plot_strayfield(inset, 'Strayfield', nolegend=True)
inset.legend(['Up ($-M_S \\rightarrow +M_S$)', 'Down ($+M_S \\rightarrow -M_S$)'])
inset.grid(b=True, alpha=.4)
inset.set_xlim(-650, 50)
inset.set_ylim(-.4, .6)
y1, y2 = -1, 2
for j in [25] + [-25-50*i for i in range(5)] + [-300-50*i for i in range(5)] + [-575]:
inset.fill([j, j, j-50, j-50], [y1, y2, y2, y1], alpha=.4)
#for j in [-300-50*i for i in range(5)] + [-575]:
# inset.fill([j, j, j-50, j-50], [y1, y2, y2, y1], alpha=.4)
ax.annotate('Without Saturation', (1.2e-2, 3e-3), color='orange')
ax.annotate('With', (1.01e-2, 1.5e-3), color='orange')
# Only save if necessary
#plt.savefig('sweep_measplan12.png', dpi=300)
#if save_figures:
#plt.savefig('img/sweep_measplan12%s.png' % (tmp), dpi=300)
#plt.savefig('img/sweep_measplan12%s.pdf' % (tmp), dpi=300)
[38]:
Text(0.0101, 0.0015, 'With')
[35]:
#plt.style.use('ggplot')
c1 = sns.color_palette("hls", 7)
#sns.color_palette("Reds_r", 14)
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='deep')
sns.set_palette(c1)
lofm = {}
to_show = {
}
for i in range(6):
to_show.update(
{
(385+i): [("+M_s \\rightarrow -%d" % (-(i*50+25)),(-(i*50+25) - 50)), 'Plusses', +0.5, {}],
}
)
tmp = '0-300'
for nr, content in to_show.items():
if content[2] == 9.4:
continue
options = content[3]
lofm[nr] = ['$%s \\rightarrow %s$ mT %s ($%s \\frac{mT}{min}$)' % (
content[0][0],
content[0][1],
content[1],
content[2],
),options]
eva.plot(lofm,
plot_settings=dict(
title='($90^\\circ$) Field Sweeps (Measurement Plan \#12)%s' % tmp,
xlim=(1e-2, 1.6e0),
ylim=(6e-7, 5e-3)
),
f_settings=dict(
xmin=1e-2,
ymin=3e-5),
f2_settings=dict(#disable=True
xmin=1e-2,
plot_style='k-.',
an_color='k'
),
)
ax = plt.gca()
with sns.color_palette(c1):
inset = inset_axes(ax, width='100%', height='90%',
bbox_to_anchor=(.28, .73, .29, .24),
bbox_transform=ax.transAxes)
m.plot_strayfield(inset, 'Strayfield', nolegend=True)
inset.legend(['Up ($-M_S \\rightarrow +M_S$)', 'Down ($+M_S \\rightarrow -M_S$)'])
inset.grid(b=True, alpha=.4)
inset.set_xlim(-300, 50)
inset.set_ylim(-.4, .6)
y1, y2 = -1, 2
for j in [25] + [-25-50*i for i in range(5)] + [-300-50*i for i in range(5)] + [-575]:
inset.fill([j, j, j-50, j-50], [y1, y2, y2, y1], alpha=.4)
#for j in [-300-50*i for i in range(5)] + [-575]:
# inset.fill([j, j, j-50, j-50], [y1, y2, y2, y1], alpha=.4)
# Only save if necessary
#plt.savefig('sweep_measplan12.png', dpi=300)
if save_figures:
plt.savefig('img/sweep_measplan12%s.png' % (tmp), dpi=300)
plt.savefig('img/sweep_measplan12%s.pdf' % (tmp), dpi=300)
[34]:
#plt.style.use('ggplot')
c1 = sns.color_palette("hls", 7)
#sns.color_palette("Reds_r", 14)
set_sns(default=True, grid=True, size='notebook', style='ticks', latex=True,
palette='deep')
sns.set_palette(c1)
lofm = {}
to_show = {
}
for i, j in enumerate([-(_*50+300) for _ in range(4)] + [-575]):
to_show.update(
{
(391+i): [("+M_s \\rightarrow -%d" % (j),(j - 50)), 'Plusses', +0.5, {}],
}
)
j = 625
to_show[397] = [("-M_s \\rightarrow -%d" % (j),(j + 50)), 'Plusses', +0.5, {}]
tmp = '-300-650'
for nr, content in to_show.items():
if content[2] == 9.4:
continue
options = content[3]
lofm[nr] = ['$%s \\rightarrow %s$ mT %s ($%s \\frac{mT}{min}$)' % (
content[0][0],
content[0][1],
content[1],
content[2],
),options]
eva.plot(lofm,
plot_settings=dict(
title='($90^\\circ$) Field Sweeps (Measurement Plan \#12)%s' % tmp,
xlim=(1e-2, 1.6e0),
ylim=(6e-7, 1e-3)
),
f_settings=dict(
xmin=1e-2,
ymin=3e-5),
f2_settings=dict(#disable=True
xmin=1e-2,
plot_style='k-.',
an_color='k'
),
)
ax = plt.gca()
with sns.color_palette(c1):
inset = inset_axes(ax, width='100%', height='90%',
bbox_to_anchor=(.28, .73, .29, .24),
bbox_transform=ax.transAxes)
m.plot_strayfield(inset, 'Strayfield', nolegend=True)
inset.legend(['Up ($-M_S \\rightarrow +M_S$)', 'Down ($+M_S \\rightarrow -M_S$)'])
inset.grid(b=True, alpha=.4)
inset.set_xlim(-650, -275)
inset.set_ylim(-.4, .6)
y1, y2 = -1, 2
for j in [-300-50*i for i in range(5)] + [-575]:
inset.fill([j, j, j-50, j-50], [y1, y2, y2, y1], alpha=.4)
#for j in [-300-50*i for i in range(5)] + [-575]:
# inset.fill([j, j, j-50, j-50], [y1, y2, y2, y1], alpha=.4)
# Only save if necessary
#plt.savefig('sweep_measplan12.png', dpi=300)
if save_figures:
plt.savefig('img/sweep_measplan12%s.png' % (tmp), dpi=300)
plt.savefig('img/sweep_measplan12%s.pdf' % (tmp), dpi=300)
[33]:
db = df[np.abs(df.dB) < .0007 ][np.abs(df.dB) > .00005 ]
X = db.get(['Time', 'dB'])
kmeans = KMeans(n_clusters=5).fit(X)
print('Nr\tBmax\tBmin\tTemp std\n' + '-'*50)
clusters = []
for i in range(1,kmeans.n_clusters):
cluster = db[kmeans.labels_ == i]
clusters.append(cluster)
print(i,
cluster['B'].max(),
cluster.B.min(),
cluster.dTemp.std(), sep='\t')
#plt.plot(db.dB * -4000)
#df[df['Time'] < 91000][df['Time'] > 80000].plot(x='Time', y='dB')
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/var/folders/nm/0s3x_nnn1ss1n7rd1px5gqsr0000gn/T/ipykernel_29173/3427526419.py in <module>
----> 1 db = df[np.abs(df.dB) < .0007 ][np.abs(df.dB) > .00005 ]
2 X = db.get(['Time', 'dB'])
3 kmeans = KMeans(n_clusters=5).fit(X)
4 print('Nr\tBmax\tBmin\tTemp std\n' + '-'*50)
5 clusters = []
NameError: name 'df' is not defined
Instable Sample Temperature when sweeping field
[ ]:
nr = 391
c1 = clusters[3][['Temp3', 'B', 'Vx', 'dB', 'dTemp']]
c1.plot(x='B', y=['Temp3'], label=['Sample Temp $T \\in (%.4f, %.4f) \\pm %.4f$' % (c1.Temp3.max(),
c1.Temp3.min(),
c1.Temp3.var())])
plt.title('m%d: Temperature' % nr)
[ ]:
d = clusters[3]
for key in d.keys():
i = info.loc[391]
#i['%s_count' % key] = d[key].count()
i['%s_mean' % key] = d[key].mean()
i['%s_var' % key] = d[key].var()
i['%s_min' % key] = d[key].min()
i['%s_max' % key] = d[key].max()
[ ]:
i.to_csv('m391_info.dat')
Stabilizing Temp after filling
[ ]:
plt.plot(m.up.B, m.up['Sample Temp'])
plt.plot(m.down.B, m.down['Sample Temp'])