import elflab.analysis.signal_processing as signal import elflab.datasets as datasets import matplotlib.pyplot as plt fn = r"raw\20141215j_sb14_MI_0.2T_40K_2K_71kHz_1mA_300ms_ph0.csv" out = r"0degree\0.2T_cool.csv" degree = 0. if __name__ == '__main__': d = datasets.load_csv(fn, column_mapping={ 0: "T", 1: "X", 2: "Y" }, has_header=False) # Rotate d["X2"] = -d["X"] d["Y2"] = -d["Y"] # Averaging methods take into account of correlation within 10 x time constant averager, err_est = signal.decorrelate_neighbour_averager( 30, np.nanmean, estimate_error=True) d = datasets.downsample(d, 240, method=averager, error_est=err_est) fig, ax1 = plt.subplots()
transform=sub.transAxes, ha="center", va="center", size="large") #sub.text(0.05, 0.6, r"$20 \mathrm{mT}$", transform=sub.transAxes, ha="left", va="center") sub.set_xlim(xlim) sub.set_xticks(xticks) sub.xaxis.set_minor_locator(xminor_locator) sub.set_yticks(np.arange(-0.5, 1, 0.5)) yminor_locator = AutoMinorLocator(5) sub.yaxis.set_minor_locator(yminor_locator) fn1 = r"mi\0degree\0T_warm.csv" data = datasets.load_csv(fn1, mi_columns, has_header=True) data = data.mask(data["T"] < 42) sub.errorbar(data["T"], data["Y"] / unit_re - offset_re, yerr=data["err_Y"] * NSE / unit_re, label="$\chi'$", color=pal.mi_re, marker="x", markersize=markersize, markerfacecolor="none", linestyle="None", linewidth=lw, zorder=1) sub.errorbar(data["T"], data["X"] / unit_re - offset_im, yerr=data["err_X"] * NSE / unit_re,
direction="in", pad=1, bottom=True, top=True, left=True, right=False) sub_b.set_xlabel(r"$T$ (K)", labelpad=0.1) sub_b.set_ylabel(r"$M_z$ (arb. unit)", labelpad=1.0) xminor_locator = AutoMinorLocator(5) sub_b.xaxis.set_minor_locator(xminor_locator) yminor_locator = AutoMinorLocator(5) sub_b.yaxis.set_minor_locator(yminor_locator) fn1 = r"squid\MvT.dat" data = datasets.load_csv(fn1, SQUID_COLUMNS) sub_b.errorbar(data["T"], data["M"] / M_unit, yerr=NSE * data["err_M"] / M_unit, color=pal.squid_T, marker="x", markersize=markersize, markerfacecolor="none", linestyle="None", linewidth=1, zorder=1) fn1 = r"squid\curie.dat" data = datasets.load_csv(fn1, {0: "x", 1: "y"}) sub_b.plot(data["x"], data["y"] / M_unit,
fig = plt.figure(dpi=1200) fig.set_size_inches([0.7 * paperwidth, 0.3/0.4*0.7 * paperwidth]) #fig.set_size_inches([3.375, 2.1]) marker_size = 6 # Sub figure layout gs1 = gridspec.GridSpec(2, 2) gs1.update(wspace=0.0, hspace=0.0) sub_a = fig.add_subplot(gs1[0, 0]) sub_b = fig.add_subplot(gs1[0, 1]) sub_c = fig.add_subplot(gs1[1, 0]) sub_d = fig.add_subplot(gs1[1, 1]) fn1 = r"mr/quadraticVar.dat" q = datasets.load_csv(fn1, columns, has_header=False) xlim = [-0.6, 0.6] # Sub fig a sub = sub_a sub.text(0.2, 0.8, "(a)", transform=sub.transAxes, ha="right", va="center", size="large") sub.tick_params(axis='both', which='both', direction="in", bottom=False, top=True, left=True, right=False, labelleft=True, labelright=False, labeltop=True, labelbottom=False) sub.set_xlabel(r"$H$ (T $/\mu_0$)") sub.set_ylabel(r"$\Delta{}R(H) / R(0) / 10^{-2}$") sub.xaxis.set_label_position("top") sub.yaxis.set_label_position("left") sub.yaxis.set_label_coords(-0.20, 0.5) sub.set_xlim(xlim) yunit = 0.01
sub.set_xlim(xlim) sub.set_xticks(xticks) xminor_locator = AutoMinorLocator(2) sub.xaxis.set_minor_locator(xminor_locator) sub.set_yscale("log") sub.set_yticks([0.01, 0.1, 1]) #yminor_locator = AutoMinorLocator(2) #sub.yaxis.set_minor_locator(yminor_locator) #sub.set_xticks(xticks) #sub.xaxis.set_minor_locator(xminor_locator) fn1 = r"rvt\s1.dat" data = datasets.load_csv(fn1, rvt_columns, has_header=True) mask = np.logical_and(data["T"] > xlim[0], data["T"] < xlim[1]) sub.plot(data["T"][mask], data["R"][mask], color=pal.rvt1, marker="x", markersize=markersize, markerfacecolor="none", linestyle="None", linewidth=lw, zorder=1) sub.axvline(x=14.5, linestyle="--", color=pal.aid_lines, linewidth=lw, zorder=2) sub.axvline(x=31, linestyle="--", color=pal.aid_lines, linewidth=lw, zorder=2) sub.axvline(x=59, linestyle="--", color=pal.aid_lines, linewidth=lw, zorder=2) #legend = sub.legend(handlelength=0.0) # Sub fig rvt2 sub = sub_rvt2 sub.text(0.87, 0.8, "(b)", transform=sub.transAxes, ha="center", va="center", size="large")
sub_a.xaxis.set_minor_locator(xminor_locator) sub_a.set_yscale("log") sub_a.set_ylim([10**2.9, 10**4.3]) #yminor_locator = AutoMinorLocator(5) #sub_a.yaxis.set_minor_locator(yminor_locator) column_map = {0: "2theta", 1: "counts"} # EuS fn1 = r"xrd\20170706_EuS12_Si_100_5d120d_hybrid.ASC" data = post_process( datasets.load_csv(fn1, column_map, has_header=False, delimiter=' ', skipinitialspace=True)) sub_a.plot(data["2theta"], data["counts"] * 10.0**1.0, color=pal.xrd_eus, marker=None, linewidth=lw, label="EuS only", zorder=2) # S4 / SB02 fn1 = r"xrd\20140319_Sb2Te3_EuS_Si100_SB02_xpert2_5d120d.ASC" data = post_process( datasets.load_csv(fn1, column_map,
xticks = range(8) #xlabels = ["I", "II", "III", "IV", "V", "VI", "VII", "VIII"] xlabels = ["A", "B", "C", "D", "E", "F", "G", "H"] #sub.set_xlim(xlim) sub.set_xticks(xticks) sub.set_xticklabels(xlabels) #sub.xaxis.set_minor_locator(xminor_locator) sub.set_yscale("log") sub.set_ylim([10**-3.5, 10**2.4]) #sub.set_yticks([1.e-2, 1.e-1, 1, 1.e1]) trend_columns = {1: "source", 2: "WL", 3: "R"} fn1 = r"WL_trend\trend.csv" data = datasets.load_csv(fn1, trend_columns, has_header=True) mask = data["WL"] == 1 d = data.mask(mask) sub.plot(d["source"], d["R"], label="negative magnetoresistance", color=pal.wl_yes, marker="o", markersize=6.0, markerfacecolor="none", linestyle="None", linewidth=lw, zorder=3) mask = data["WL"] == -1