code: def colorbar(self, mappable=None, **kwargs):
          
          fig = self.get_figure()
          if kwargs.get('use_axesgrid', True):
              kwargs.setdefault('fraction', 0.)
          if kwargs.get('fraction', 0.) == 0.:
              kwargs.setdefault('use_axesgrid', True)
          mappable, kwargs = gcbar.process_colorbar_kwargs(
              fig, mappable=mappable, ax=self, **kwargs)
          if isinstance(fig, Plot):
              # either we have created colorbar Axes using axesgrid1, or
              # the user already gave use_axesgrid=False, so we forcefully
              # disable axesgrid here in case fraction == 0., which causes
              # gridspec colorbars to fail.
              kwargs['use_axesgrid'] = False
          return fig.colorbar(mappable, **kwargs)
docs: Add a `~matplotlib.colorbar.Colorbar` to these `Axes`
  
          Parameters
          ----------
          mappable : matplotlib data collection, optional
              collection against which to map the colouring, default will
              be the last added mappable artist (collection or image)
  
          fraction : `float`, optional
              fraction of space to steal from these `Axes` to make space
              for the new axes, default is ``0.`` if ``use_axesgrid=True``
              is given (default), otherwise default is ``.15`` to match
              the upstream matplotlib default.
  
          **kwargs
              other keyword arguments to be passed to the
              :meth:`Plot.colorbar` generator
  
          Returns
          -------
          cbar : `~matplotlib.colorbar.Colorbar`
              the newly added `Colorbar`
  
          See Also
          --------
          Plot.colorbar