class_docstr: A crosshair cursor like `~matplotlib.widgets.Cursor` with a text showing     the current coordinates.
  
  For the cursor to remain responsive you must keep a reference to it.
  The data of the axis specified as *dataaxis* must be in ascending
  order. Otherwise, the `numpy.searchsorted` call might fail and the text
  disappears. You can satisfy the requirement by sorting the data you plot.
  Usually the data is already sorted (if it was created e.g. using
  `numpy.linspace`), but e.g. scatter plots might cause this problem.
  The cursor sticks to the plotted line.
  
  Parameters
  ----------
  line : `matplotlib.lines.Line2D`
      The plot line from which the data coordinates are displayed.
  
  numberformat : `python format string <https://docs.python.org/3/    library/string.html#formatstrings>`_, optional, default: "{0:.4g};{1:.4g}"
      The displayed text is created by calling *format()* on this string
      with the two coordinates.
  
  offset : (float, float) default: (5, 5)
      The offset in display (pixel) coordinates of the text position
      relative to the cross-hair.
  
  dataaxis : {"x", "y"}, optional, default: "x"
      If "x" is specified, the vertical cursor line sticks to the mouse
      pointer. The horizontal cursor line sticks to *line*
      at that x value. The text shows the data coordinates of *line*
      at the pointed x value. If you specify "y", it works in the opposite
      manner. But: For the "y" value, where the mouse points to, there might
      be multiple matching x values, if the plotted function is not biunique.
      Cursor and text coordinate will always refer to only one x value.
      So if you use the parameter value "y", ensure that your function is
      biunique.
  
  Other Parameters
  ----------------
  textprops : `matplotlib.text` properties as dictionary
      Specifies the appearance of the rendered text object.
  
  **cursorargs : `matplotlib.widgets.Cursor` properties
      Arguments passed to the internal `~matplotlib.widgets.Cursor` instance.
      The `matplotlib.axes.Axes` argument is mandatory! The parameter
      *useblit* can be set to *True* in order to achieve faster rendering.
docstr: Overridden method for either blitting or drawing the widget canvas.
  
  Passes call to base class if blitting is activated, only.
  In other cases, one draw_idle call is enough, which is placed
  explicitly in this class (see *onmove()*).
  In that case, `~matplotlib.widgets.Cursor` is not supposed to draw
  something using this method.
docstr_tok: ["Overridden","method","for","either","blitting","or","drawing","the","widget","canvas",".","Passes","call","to","base","class","if","blitting","is","activated",",","only",".","In","other","cases",",","one","draw_idle","call","is","enough",",","which","is","placed","explicitly","in","this","class","(","see","*","onmove","(",")","*",")",".","In","that","case",",","`","~matplotlib.widgets.Cursor","`","is","not","supposed","to","draw","something","using","this","method","."]
code: def _update(self):
      """
      Overridden method for either blitting or drawing the widget canvas.
  
      Passes call to base class if blitting is activated, only.
      In other cases, one draw_idle call is enough, which is placed
      explicitly in this class (see *onmove()*).
      In that case, `~matplotlib.widgets.Cursor` is not supposed to draw
      something using this method.
      """
  
      if self.useblit:
          super()._update()
  
file_path: matplotlib/galleries/examples/widgets/annotated_cursor.py
imports: import matplotlib.pyplot
  import numpy
  from matplotlib.backend_bases import MouseEvent
  from matplotlib.widgets import Cursor
label_desc: Use image node_id 5 for calling the AnnotatedCursor obj's underlying member method code with example usage: obj._update() without return types