def _raw_ticks(self, vmin, vmax):
     if self._nbins == 'auto':
         if self.axis is not None:
             nbins = np.clip(self.axis.get_tick_space(),
                             max(1, self._min_n_ticks - 1), 9)
         else:
             nbins = 9
     else:
         nbins = self._nbins
     scale, offset = mticker.scale_range(vmin, vmax, nbins)
     _vmin = vmin - offset
     _vmax = vmax - offset
     raw_step = 1 / (1 / vmax - 1 / vmin) / nbins
     steps = self._extended_steps * scale
     if self._integer:
         # For steps > 1, keep only integer values.
         igood = (steps < 1) | (np.abs(steps - np.round(steps)) < 0.001)
         steps = steps[igood]
     self.numticks = len(self.other_axis.get_xticks())
     ticks = 1 / np.linspace(1 / vmin, 1 / vmax, self.numticks)
     for step in steps:
         best_vmin = (_vmin // step) * step
         low = np.round(mticker.Base(step).le(_vmin - best_vmin) / step)
         high = np.round(mticker.Base(step).ge(_vmax - best_vmin) / step)
     return ticks
Example #2
0
 def __init__(self, base=1, month=1, day=1, tz=None):
     """
     Mark years that are multiple of base on a given month and day
     (default jan 1).
     """
     DateLocator.__init__(self, tz)
     self.base = ticker.Base(base)
     self.replaced = { 'month'  : month,
                       'day'    : day,
                       'hour'   : 0,
                       'minute' : 0,
                       'second' : 0,
                       'tzinfo' : tz
                       }
Example #3
0
 def __init__(self, nbins=7, symmetric=True):
     self._base = mticker.Base(1.0)
     self.set_params(nbins, symmetric)
Example #4
0
 def __init__(self, nbins=7, symmetric=True):
     if parse_version(matplotlib.__version__) < parse_version('3.1.0'):
         self._base = mticker.Base(1.0)
     else:
         self._base = mticker._Edge_integer(1.0, 0)
     self.set_params(nbins, symmetric)