Example #1
0
    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,
                )
Example #2
0
    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)