@@ -1836,6 +1836,8 @@ def set_params(self, **kwargs):
1836
1836
raise ValueError (
1837
1837
"prune must be 'upper', 'lower', 'both', or None" )
1838
1838
self ._prune = prune
1839
+ if 'min_n_ticks' in kwargs :
1840
+ self ._min_n_ticks = max (1 , kwargs ['min_n_ticks' ])
1839
1841
if 'steps' in kwargs :
1840
1842
steps = kwargs ['steps' ]
1841
1843
if steps is None :
@@ -1845,12 +1847,6 @@ def set_params(self, **kwargs):
1845
1847
self ._extended_steps = self ._staircase (self ._steps )
1846
1848
if 'integer' in kwargs :
1847
1849
self ._integer = kwargs ['integer' ]
1848
- if self ._integer :
1849
- self ._steps = np .array ([n for n in self ._steps
1850
- if _divmod (n , 1 )[1 ] < 0.001 ])
1851
- self ._extended_steps = self ._staircase (self ._steps )
1852
- if 'min_n_ticks' in kwargs :
1853
- self ._min_n_ticks = max (1 , kwargs ['min_n_ticks' ])
1854
1850
1855
1851
def _raw_ticks (self , vmin , vmax ):
1856
1852
if self ._nbins == 'auto' :
@@ -1867,6 +1863,11 @@ def _raw_ticks(self, vmin, vmax):
1867
1863
_vmax = vmax - offset
1868
1864
raw_step = (vmax - vmin ) / nbins
1869
1865
steps = self ._extended_steps * scale
1866
+ if self ._integer :
1867
+ # For steps > 1, keep only integer values.
1868
+ igood = (steps < 1 ) | (np .abs (steps - np .round (steps )) < 0.001 )
1869
+ steps = steps [igood ]
1870
+
1870
1871
istep = np .nonzero (steps >= raw_step )[0 ][0 ]
1871
1872
1872
1873
# Classic round_numbers mode may require a larger step.
0 commit comments