Right now some color norms have accompanying scales, which allows their colorbars to have first-class scales. But some do not...
LogNorm: log
PowerNorm: no scale
TwoSlopeNorm: no scale
BoundaryNorm: shouldn't have a scale
Instead of inferring the first-class scale, I'd suggest we add a new property: norm._scale so that colorbar does not have to guess the scale. This should be a string so that it will only call registered scales, and it should be None when no scale is defined.
If its None, then colorbar will use the old default way of setting the scale. Otherwise it will set the scale using ax.set_yscale(norm._scale).
We probably don't want the user to set this - if they want to change the colorbar scale, they can simply use the normal ax.set_yscale directly.
Right now some color norms have accompanying scales, which allows their colorbars to have first-class scales. But some do not...
LogNorm:logPowerNorm: no scaleTwoSlopeNorm: no scaleBoundaryNorm: shouldn't have a scaleInstead of inferring the first-class scale, I'd suggest we add a new property:
norm._scaleso that colorbar does not have to guess the scale. This should be a string so that it will only call registered scales, and it should beNonewhen no scale is defined.If its
None, then colorbar will use the old default way of setting the scale. Otherwise it will set the scale usingax.set_yscale(norm._scale).We probably don't want the user to set this - if they want to change the colorbar scale, they can simply use the normal
ax.set_yscaledirectly.