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
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 }
def __init__(self, nbins=7, symmetric=True): self._base = mticker.Base(1.0) self.set_params(nbins, symmetric)
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)