def show(self): for sample in self.samples: self.measurements = sample.find_measurement("pseudo-thellier") for measurement in self.measurements: idx = measurement.components[self.component] factor = { "mass": [measurement.sample_obj.mass_kg, measurement.sample_obj.mass_kg], "nrm": [measurement.nrm[idx], measurement.nrm[idx]], "None": [1, 1], } norm_factor = factor[self.norm] # # NORMALIZATION FACTOR self.ax = paleointensity.arai( palint_object=measurement, ax=self.ax, plt_idx=idx, check=False, norm_factor=norm_factor, component=self.component, plt_opt=self.plt_opt, )
def __init__( self, sample_obj, component="m", norm="mass", log=None, t_min=20, t_max=700, line=True, check=True, plot="show", folder=None, name="arai plot", plt_opt=None, **options ): if not plt_opt: plt_opt = {} super(Arai, self).__init__(sample_list=sample_obj, norm=norm, log=log, plot=plot, folder=folder, name=name) std = options.get("std", True) for sample_obj in self.samples: self.measurements = sample_obj.find_measurement("palint") self.t_min = t_min self.t_max = t_max label_aux = "" if len(self.samples) > 1: label_aux += sample_obj.name + "" for measurement in self.measurements: if len(self.measurements) > 1: if measurement.treatment: label = label_aux + measurement.treatment.label else: label = label_aux + self.measurements.index(measurement) else: label = "" components = {"x": 1, "y": 2, "z": 3, "m": 4} factors = { "mass": [sample_obj.mass_kg, sample_obj.mass_kg], "max": [ max(measurement.sum[:, components[component]]), max(measurement.sum[:, components[component]]), ], "trm": [measurement.trm[:, components[component]][0], measurement.trm[:, components[component]][0]], "nrm": [measurement.nrm[:, components[component]][0], measurement.nrm[:, components[component]][0]], "th": [measurement.th[0, components[component]], measurement.th[0, components[component]]], "dnorm": [measurement.ptrm[-1, components[component]], measurement.th[0, components[component]]], "none": [1, 1], } norm_factor = factors[norm.lower()] idx = self.measurements.index( measurement ) # index of measurement used to distinguish repeated measurements on the same sample if len(self.samples) > 1: idx = self.samples.index(sample_obj) # index of measurement used to distinguish samples lines = ["-", "--", ":"] if not "ls" in plt_opt: if not "linestyle" in plt_opt: plt_opt.update({"linestyle": lines[idx]}) paleointensity.arai( palint_object=measurement, ax=self.ax, t_min=self.t_min, t_max=self.t_max, line=line, check=check, plt_idx=idx, label=label, norm_factor=norm_factor, component=component, plt_opt=plt_opt, **options ) if measurement.th_stdev is not None: if std: paleointensity.arai_stdev( palint_object=measurement, ax=self.ax, t_min=self.t_min, t_max=self.t_max, plt_idx=idx, norm_factor=norm_factor, component=component, plt_opt=plt_opt, **options ) self.fig1.suptitle("%s Arai Plot" % sample_obj.name, fontsize=16) self.x_label = "pTRM gained" self.y_label = "NRM remaining" """general plotting""" plt.gca().set_ylim(bottom=0) try: leg = plt.legend(loc="best", fancybox=True) leg.get_frame().set_alpha(0.5) except AttributeError: self.log.warning("COULD not set frame alpha. Probably no labels") # plt.subplots_adjust(top=0.94) plt.tight_layout(pad=2.7) self.out(plot)