def METHOD_NAME(self):
    args = self.args
    # get tight axes limits from time and frequency Axes
    if args.xmin is None:
        args.xmin = self.result.xspan[0]
    if args.xmax is None:
        args.xmax = self.result.xspan[1]
    if args.ymin is None:
        args.ymin = self.result.yspan[0]
    if args.ymax is None:
        args.ymax = self.result.yspan[1]
    specgram = self.result.crop(
        args.xmin, min(args.xmax, self.result.xspan[1])
    )
    # y axis cannot be cropped if non-linear
    ax = self.plot.gca()
    ax.set_ylim(args.ymin, args.ymax)
    # auto scale colours
    if args.norm:
        imin = specgram.value.min()
        imax = specgram.value.max()
    else:
        imin = percentile(specgram.value, 1)
        imax = percentile(specgram.value, 100)
    imin = args.imin if args.imin is not None else imin
    imax = args.imax if args.imax is not None else imax
    if imin == 0 and args.color_scale == 'log':
        imin = specgram.value[specgram.value > 0].min()
    self.log(3, f'Colorbar limits set to {imin:f} - {imax:f}')
    try:
        image = self.ax.images[0]
    except IndexError:
        image = self.ax.collections[0]
    image.set_clim(imin, imax)