diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 6d2121bdc1cd..c98a62abe11f 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -1212,17 +1212,16 @@ def _reset_locator_formatter_scale(self): self._minorlocator = None self._formatter = None self._minorformatter = None - if (isinstance(self.mappable, contour.ContourSet) and - isinstance(self.norm, colors.LogNorm)): - # if contours have lognorm, give them a log scale... - self._set_scale('log') - elif (self.boundaries is not None or + if (self.boundaries is not None or isinstance(self.norm, colors.BoundaryNorm)): if self.spacing == 'uniform': funcs = (self._forward_boundaries, self._inverse_boundaries) self._set_scale('function', functions=funcs) elif self.spacing == 'proportional': - self._set_scale('linear') + if isinstance(self.norm, colors.LogNorm): + self._set_scale('linear') + else: + self._set_scale('log') elif getattr(self.norm, '_scale', None): # use the norm's scale (if it exists and is not None): self._set_scale(self.norm._scale)