'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.
axes
renderer'

def locate(self, nx, ny, nx1=None, ny1=None, axes=None, renderer=None):

    (figW, figH) = self._fig.get_size_inches()
    (x, y, w, h) = self.get_position_runtime(axes, renderer)
    hsizes = self.get_horizontal_sizes(renderer)
    vsizes = self.get_vertical_sizes(renderer)
    k_h = self._calc_k(hsizes, (figW * w))
    k_v = self._calc_k(vsizes, (figH * h))
    if self.get_aspect():
        k = min(k_h, k_v)
        ox = self._calc_offsets(hsizes, k)
        oy = self._calc_offsets(vsizes, k)
        ww = ((ox[(-1)] - ox[0]) / figW)
        hh = ((oy[(-1)] - oy[0]) / figH)
        pb = mtransforms.Bbox.from_bounds(x, y, w, h)
        pb1 = mtransforms.Bbox.from_bounds(x, y, ww, hh)
        pb1_anchored = pb1.anchored(self.get_anchor(), pb)
        (x0, y0) = (pb1_anchored.x0, pb1_anchored.y0)
    else:
        ox = self._calc_offsets(hsizes, k_h)
        oy = self._calc_offsets(vsizes, k_v)
        (x0, y0) = (x, y)
    if (nx1 is None):
        nx1 = (nx + 1)
    if (ny1 is None):
        ny1 = (ny + 1)
    (x1, w1) = ((x0 + (ox[nx] / figW)), ((ox[nx1] - ox[nx]) / figW))
    (y1, h1) = ((y0 + (oy[ny] / figH)), ((oy[ny1] - oy[ny]) / figH))
    return mtransforms.Bbox.from_bounds(x1, y1, w1, h1)
