def plot_mtch_results()

in src/rime/util/plotting.py [0:0]


def plot_mtch_results(self, logy=True):
    """ self is an instance of Experiment or ExperimentResult """
    fig, ax = plt.subplots(1, 2, figsize=(7, 2.5))
    df = [self.get_mtch_(k=self._k1), self.get_mtch_(c=self._c1)]

    xname = [f'ItemRec Prec@{self._k1}', f'UserRec Prec@{self._c1}']
    yname = ['item_ppl', 'user_ppl']

    for ax, df, xname, yname in zip(ax, df, xname, yname):
        ax.set_prop_cycle('color', [
            plt.get_cmap('tab20')(i / 20) for i in range(20)])
        if df is not None:
            ax.plot(
                df.loc['prec'].unstack().values.T,
                df.loc[yname].unstack().values.T,
                '.-',
            )
        ax.set_xlabel(xname)
        ax.set_ylabel(yname)
        if logy:
            ax.set_yscale('log')
        ax.axhline(getattr(self, yname + '_baseline'), ls='-.', color='gray')
    fig.legend(
        df.loc['prec'].unstack().index.values.tolist() + [yname + '_baseline'],
        bbox_to_anchor=(0.1, 0.9, 0.8, 0), loc=3, ncol=3,
        mode="expand", borderaxespad=0.)
    fig.subplots_adjust(wspace=0.25)
    return fig