def plot_wrapper(self, func, *args, cmap=None, values=None, **kwargs):
    """
    Calls `~proplot.axes.Axes.parametric` if the `cmap` argument was supplied,
    otherwise calls `~matplotlib.axes.Axes.plot`. Wraps %(methods)s.

    Parameters
    ----------
    *args : (y,), (x, y), or (x, y, fmt)
        Passed to `~matplotlib.axes.Axes.plot`.
    cmap, values : optional
        Passed to `~proplot.axes.Axes.parametric`.
    **kwargs
        `~matplotlib.lines.Line2D` properties.
    """
    if len(args) > 3:  # e.g. with fmt string
        raise ValueError(f'Expected 1-3 positional args, got {len(args)}.')
    if cmap is None:
        lines = func(self, *args, values=values, **kwargs)
    else:
        lines = self.parametric(*args, cmap=cmap, values=values, **kwargs)
    return lines