class_docstr: An Axes positioning class.
  
  The divider is initialized with lists of horizontal and vertical sizes
  (:mod:`mpl_toolkits.axes_grid1.axes_size`) based on which a given
  rectangular area will be divided.
  
  The `new_locator` method then creates a callable object
  that can be used as the *axes_locator* of the axes.
class_docstr_tok: ["An","Axes","positioning","class",".","The","divider","is","initialized","with","lists","of","horizontal","and","vertical","sizes","(",":","mod",":","`","mpl_toolkits.axes_grid1.axes_size","`",")","based","on","which","a","given","rectangular","area","will","be","divided",".","The","`","new_locator","`","method","then","creates","a","callable","object","that","can","be","used","as","the","*","axes_locator","*","of","the","axes","."]
docstr: Return an axes locator callable for the specified cell.
  
  Parameters
  ----------
  nx, nx1 : int
      Integers specifying the column-position of the
      cell. When *nx1* is None, a single *nx*-th column is
      specified. Otherwise, location of columns spanning between *nx*
      to *nx1* (but excluding *nx1*-th column) is specified.
  ny, ny1 : int
      Same as *nx* and *nx1*, but for row positions.
docstr_tok: ["Return","an","axes","locator","callable","for","the","specified","cell",".","Parameters","--","--","--","--","--","nx",",","nx1",":","int","Integers","specifying","the","column-position","of","the","cell",".","When","*","nx1","*","is","None",",","a","single","*","nx","*","-th","column","is","specified",".","Otherwise",",","location","of","columns","spanning","between","*","nx","*","to","*","nx1","*","(","but","excluding","*","nx1","*","-th","column",")","is","specified",".","ny",",","ny1",":","int","Same","as","*","nx","*","and","*","nx1","*",",","but","for","row","positions","."]
code: def new_locator(self, nx, ny, nx1=None, ny1=None):
      """
      Return an axes locator callable for the specified cell.
  
      Parameters
      ----------
      nx, nx1 : int
          Integers specifying the column-position of the
          cell. When *nx1* is None, a single *nx*-th column is
          specified. Otherwise, location of columns spanning between *nx*
          to *nx1* (but excluding *nx1*-th column) is specified.
      ny, ny1 : int
          Same as *nx* and *nx1*, but for row positions.
      """
      if nx1 is None:
          nx1 = nx + 1
      if ny1 is None:
          ny1 = ny + 1
      # append_size("left") adds a new size at the beginning of the
      # horizontal size lists; this shift transforms e.g.
      # new_locator(nx=2, ...) into effectively new_locator(nx=3, ...).  To
      # take that into account, instead of recording nx, we record
      # nx-self._xrefindex, where _xrefindex is shifted by 1 by each
      # append_size("left"), and re-add self._xrefindex back to nx in
      # _locate, when the actual axes position is computed.  Ditto for y.
      xref = self._xrefindex
      yref = self._yrefindex
      locator = functools.partial(
          self._locate, nx - xref, ny - yref, nx1 - xref, ny1 - yref
      )
      locator.get_subplotspec = self.get_subplotspec
      return locator
  
imports: import functools
  import numpy
  import matplotlib
  from matplotlib import _api
  from matplotlib.gridspec import SubplotSpec
  import matplotlib.transforms
  from .None import axes_size
label_desc: Use image node_id 20 for calling the Divider obj's underlying member method code with example usage: obj.new_locator(nx, ny, nx1, ny1) and returns: locator