'Add a label near the point (x, y). If transform is None
(default), (x, y) is in data coordinates; if transform is
False, (x, y) is in display coordinates; otherwise, the
specified transform will be used to translate (x, y) into
display coordinates.
*inline*:
controls whether the underlying contour is removed or
not. Default is *True*.
*inline_spacing*:
space in pixels to leave on each side of label when
placing inline.  Defaults to 5.  This spacing will be
exact for labels at locations where the contour is
straight, less so for labels on curved contours.'

def add_label_near(self, x, y, inline=True, inline_spacing=5, transform=None):

    if (transform is None):
        transform = self.ax.transData
    if transform:
        (x, y) = transform.transform_point((x, y))
    (conmin, segmin, imin, xmin, ymin) = self.find_nearest_contour(x, y, self.labelIndiceList)[:5]
    paths = self.collections[conmin].get_paths()
    active_path = paths[segmin]
    lc = active_path.vertices
    xcmin = self.ax.transData.inverted().transform_point([xmin, ymin])
    if (not np.allclose(xcmin, lc[imin])):
        lc = np.r_[(lc[:imin], np.array(xcmin)[None, :], lc[imin:])]
        paths[segmin] = mpath.Path(lc)
    lmin = self.labelIndiceList.index(conmin)
    paths = self.collections[conmin].get_paths()
    lc = paths[segmin].vertices
    slc = self.ax.transData.transform(lc)
    lw = self.get_label_width(self.labelLevelList[lmin], self.labelFmt, self.labelFontSizeList[lmin])
    if inline:
        lcarg = lc
    else:
        lcarg = None
    (rotation, nlc) = self.calc_label_rot_and_inline(slc, imin, lw, lcarg, inline_spacing)
    self.add_label(xmin, ymin, rotation, self.labelLevelList[lmin], self.labelCValueList[lmin])
    if inline:
        paths.pop(segmin)
        for n in nlc:
            if (len(n) > 1):
                paths.append(mpath.Path(n))
