Pm.compareplot throws error

I was comparing two models with and I wanted to visualize the values using but I got an error. I’m also confused why the documentation mentions az.plot_compare?

Here’s the code:

comp_dic = {m1: trace_m1, m2: trace_m2}
df_comp_WAIC =

Here’s the output:

KeyError                                  Traceback (most recent call last)
<ipython-input-142-f1b04076e5ff> in <module>
----> 1 pm.compareplot(df_comp_WAIC)

~/anaconda3/lib/python3.7/site-packages/pymc3/plots/ in compareplot(*args, **kwargs)
     81     else:
     82         args[0] = comp_df
---> 83     return az.plot_compare(*args, **kwargs)
     85 from .posteriorplot import plot_posterior_predictive_glm

~/anaconda3/lib/python3.7/site-packages/arviz/plots/ in plot_compare(comp_df, insample_dev, plot_standard_error, plot_ic_diff, order_by_rank, figsize, textsize, plot_kwargs, ax)
    108     if order_by_rank:
--> 109         comp_df.sort_values(by="rank", inplace=True)
    111     if plot_ic_diff:

~/anaconda3/lib/python3.7/site-packages/pandas/core/ in sort_values(self, by, axis, ascending, inplace, kind, na_position)
   4718             by = by[0]
-> 4719             k = self._get_label_or_level_values(by, axis=axis)
   4721             if isinstance(ascending, (tuple, list)):

~/anaconda3/lib/python3.7/site-packages/pandas/core/ in _get_label_or_level_values(self, key, axis)
   1704             values = self.axes[axis].get_level_values(key)._values
   1705         else:
-> 1706             raise KeyError(key)
   1708         # Check for duplicates

KeyError: 'rank'

Could you try upgrading to the master branch?

PyMC actually uses ArviZ for plots and diagnostics. I know some bugs have been solved on PyMC’s master branch but are not released yet, so I’d advise using ArviZ directly (az.) instead of PyMC (pm.) when plotting and diagnosing.

Can you try call compareplot with dict with traces (skip calling compare function)