@@ -240,7 +240,8 @@ def tick_values(self, vmin, vmax):
240240        vmin  =  max (vmin , self ._colorbar .norm .vmin )
241241        vmax  =  min (vmax , self ._colorbar .norm .vmax )
242242        ticks  =  super ().tick_values (vmin , vmax )
243-         return  ticks [(ticks  >=  vmin ) &  (ticks  <=  vmax )]
243+         rtol  =  (vmax  -  vmin ) *  1e-10 
244+         return  ticks [(ticks  >=  vmin  -  rtol ) &  (ticks  <=  vmax  +  rtol )]
244245
245246
246247class  _ColorbarAutoMinorLocator (ticker .AutoMinorLocator ):
@@ -296,7 +297,10 @@ def tick_values(self, vmin, vmax):
296297        vmin  =  self ._colorbar .norm .vmin 
297298        vmax  =  self ._colorbar .norm .vmax 
298299        ticks  =  super ().tick_values (vmin , vmax )
299-         return  ticks [(ticks  >=  vmin ) &  (ticks  <=  vmax )]
300+         rtol  =  (np .log10 (vmax ) -  np .log10 (vmin )) *  1e-10 
301+         ticks  =  ticks [(np .log10 (ticks ) >=  np .log10 (vmin ) -  rtol ) & 
302+               (np .log10 (ticks ) <=  np .log10 (vmax ) +  rtol )]
303+         return  ticks 
300304
301305
302306class  ColorbarBase (cm .ScalarMappable ):
@@ -405,7 +409,6 @@ def __init__(self, ax, cmap=None,
405409        else :
406410            self .formatter  =  format   # Assume it is a Formatter 
407411        # The rest is in a method so we can recalculate when clim changes. 
408-         self .config_axis ()
409412        self .draw_all ()
410413
411414    def  _extend_lower (self ):
@@ -439,6 +442,7 @@ def draw_all(self):
439442        # units: 
440443        X , Y  =  self ._mesh ()
441444        C  =  self ._values [:, np .newaxis ]
445+         self .config_axis ()
442446        self ._config_axes (X , Y )
443447        if  self .filled :
444448            self ._add_solids (X , Y , C )
@@ -593,6 +597,7 @@ def _config_axes(self, X, Y):
593597        ax .set_frame_on (False )
594598        ax .set_navigate (False )
595599        xy  =  self ._outline (X , Y )
600+         ax .ignore_existing_data_limits  =  True 
596601        ax .update_datalim (xy )
597602        ax .set_xlim (* ax .dataLim .intervalx )
598603        ax .set_ylim (* ax .dataLim .intervaly )
@@ -1150,7 +1155,6 @@ def update_bruteforce(self, mappable):
11501155        self .set_alpha (mappable .get_alpha ())
11511156        self .cmap  =  mappable .cmap 
11521157        self .norm  =  mappable .norm 
1153-         self .config_axis ()
11541158        self .draw_all ()
11551159        if  isinstance (self .mappable , contour .ContourSet ):
11561160            CS  =  self .mappable 
0 commit comments