@@ -241,7 +241,8 @@ def tick_values(self, vmin, vmax):
241
241
vmin = max (vmin , self ._colorbar .norm .vmin )
242
242
vmax = min (vmax , self ._colorbar .norm .vmax )
243
243
ticks = super ().tick_values (vmin , vmax )
244
- return ticks [(ticks >= vmin ) & (ticks <= vmax )]
244
+ rtol = (vmax - vmin ) * 1e-10
245
+ return ticks [(ticks >= vmin - rtol ) & (ticks <= vmax + rtol )]
245
246
246
247
247
248
class _ColorbarAutoMinorLocator (ticker .AutoMinorLocator ):
@@ -297,7 +298,10 @@ def tick_values(self, vmin, vmax):
297
298
vmin = self ._colorbar .norm .vmin
298
299
vmax = self ._colorbar .norm .vmax
299
300
ticks = super ().tick_values (vmin , vmax )
300
- return ticks [(ticks >= vmin ) & (ticks <= vmax )]
301
+ rtol = (np .log10 (vmax ) - np .log10 (vmin )) * 1e-10
302
+ ticks = ticks [(np .log10 (ticks ) >= np .log10 (vmin ) - rtol ) &
303
+ (np .log10 (ticks ) <= np .log10 (vmax ) + rtol )]
304
+ return ticks
301
305
302
306
303
307
class ColorbarBase (cm .ScalarMappable ):
@@ -406,7 +410,6 @@ def __init__(self, ax, cmap=None,
406
410
else :
407
411
self .formatter = format # Assume it is a Formatter
408
412
# The rest is in a method so we can recalculate when clim changes.
409
- self .config_axis ()
410
413
self .draw_all ()
411
414
412
415
def _extend_lower (self ):
@@ -440,6 +443,7 @@ def draw_all(self):
440
443
# units:
441
444
X , Y = self ._mesh ()
442
445
C = self ._values [:, np .newaxis ]
446
+ self .config_axis ()
443
447
self ._config_axes (X , Y )
444
448
if self .filled :
445
449
self ._add_solids (X , Y , C )
@@ -594,6 +598,7 @@ def _config_axes(self, X, Y):
594
598
ax .set_frame_on (False )
595
599
ax .set_navigate (False )
596
600
xy = self ._outline (X , Y )
601
+ ax .ignore_existing_data_limits = True
597
602
ax .update_datalim (xy )
598
603
ax .set_xlim (* ax .dataLim .intervalx )
599
604
ax .set_ylim (* ax .dataLim .intervaly )
@@ -1151,7 +1156,6 @@ def update_bruteforce(self, mappable):
1151
1156
self .set_alpha (mappable .get_alpha ())
1152
1157
self .cmap = mappable .cmap
1153
1158
self .norm = mappable .norm
1154
- self .config_axis ()
1155
1159
self .draw_all ()
1156
1160
if isinstance (self .mappable , contour .ContourSet ):
1157
1161
CS = self .mappable
0 commit comments