def METHOD_NAME(self, season="all", period=None, ax=None):
    if not season in self.seasons_avail:
        raise AttributeError(f"No results available for season {season}")
    if period is None:
        if len(self.results[season]) > 1:
            raise ValueError(
                f"Found multiple trends for different periods: {list(self.results[season])}. "
                f"Please specify period..."
            )
        period = list(self.results[season])[0]
    if ax is None:
        fig, ax = plt.subplots(1, 1, figsize=(18, 8))
    if self.has_daily:
        ax.METHOD_NAME(self.daily, "-", marker=".", label="daily", c="#d9d9d9")
    if self.has_monthly:
        ax.METHOD_NAME(self.monthly, label="monthly", c="#4d4d4d")
    ax.METHOD_NAME(self.get_yearly(season), " ok", label="yearly")
    if period in self.periods_avail:
        (s_data, s_period, td, tp, tdstr, tpstr) = self._get_trend_data(season, period)
        ax.METHOD_NAME(s_data, "-", color=self.get_trend_color(td), label="trend", lw=2)
        ax.METHOD_NAME(s_period, "--", color=self.get_trend_color(tp))
        ax.text(0.01, 0.95, tpstr, transform=ax.transAxes, fontsize=14)
        ax.text(0.01, 0.9, tdstr, transform=ax.transAxes, fontsize=14)
    ax.yaxis.grid(c="#d9d9d9", ls="-.")
    ylbl = self.var_name
    if self.var_name is not None and "units" in self.meta:
        u = str(self.meta["units"])
        if not u in ["", "1"]:
            ylbl += f" [{u}]"
    ax.set_ylabel(ylbl)
    tit = ""
    if self.meta["station_name"] is not None:
        tit += self.meta["station_name"]
        try:
            self.meta.load_dataset_info()
        except Exception:
            pass
        dsinfo = self.meta.dataset_str()
        if dsinfo is not None:
            tit += f"; {dsinfo}"
        tit += " - "
    tit += period
    ax.set_title(tit)
    ax.legend(loc=1)
    ax.set_xlim(_start_stop_period(period))
    return ax