Get the :class:`matplotlib.colors.Colormap` for plotting

        Parameters
        ----------
        arr: np.ndarray
            The array to plot
        cmap: str or matplotlib.colors.Colormap
            The colormap to use. If None, the :attr:`value` of this
            formatoption is used
        N: int
            The number of colors in the colormap. If None, the norm of the
            :attr:`bounds` formatoption is used and, if necessary, the
            given array `arr`

        Returns
        -------
        matplotlib.colors.Colormap
            The colormap returned by :func:`psy_simple.colors.get_cmap`

def get_cmap(self, arr=None, cmap=None, N=None):
        """Get the :class:`matplotlib.colors.Colormap` for plotting

        Parameters
        ----------
        arr: np.ndarray
            The array to plot
        cmap: str or matplotlib.colors.Colormap
            The colormap to use. If None, the :attr:`value` of this
            formatoption is used
        N: int
            The number of colors in the colormap. If None, the norm of the
            :attr:`bounds` formatoption is used and, if necessary, the
            given array `arr`

        Returns
        -------
        matplotlib.colors.Colormap
            The colormap returned by :func:`psy_simple.colors.get_cmap`"""
        N = N or None
        if cmap is None:
            cmap = self.value
        if N is None:
            try:
                N = self.bounds.norm.Ncmap
            except AttributeError:
                if arr is not None and self.bounds.norm is not None:
                    N = len(np.unique(self.bounds.norm(arr.ravel())))
        if N is not None:
            return get_cmap(cmap, N)
        return get_cmap(cmap)