class_docstr: Specialized PolyCollection for arrows.
  
  The only API method is set_UVC(), which can be used
  to change the size, orientation, and color of the
  arrows; their locations are fixed when the class is
  instantiated.  Possibly this method will be useful
  in animations.
  
  Much of the work in this class is done in the draw()
  method so that as much information as possible is available
  about the plot.  In subsequent draw() calls, recalculation
  is limited to things that might have changed, so there
  should be no performance penalty from putting the calculations
  in the draw() method.
class_docstr_tok: ["Specialized","PolyCollection","for","arrows",".","The","only","API","method","is","set_UVC","(",")",",","which","can","be","used","to","change","the","size",",","orientation",",","and","color","of","the","arrows",";","their","locations","are","fixed","when","the","class","is","instantiated",".","Possibly","this","method","will","be","useful","in","animations",".","Much","of","the","work","in","this","class","is","done","in","the","draw","(",")","method","so","that","as","much","information","as","possible","is","available","about","the","plot",".","In","subsequent","draw","(",")","calls",",","recalculation","is","limited","to","things","that","might","have","changed",",","so","there","should","be","no","performance","penalty","from","putting","the","calculations","in","the","draw","(",")","method","."]
docstr: The constructor takes one required argument, an Axes
  instance, followed by the args and kwargs described
  by the following pyplot interface documentation:
  %s
docstr_tok: ["The","constructor","takes","one","required","argument",",","an","Axes","instance",",","followed","by","the","args","and","kwargs","described","by","the","following","pyplot","interface","documentation",":","%","s"]
code: def __init__(
      self,
      ax,
      *args,
      scale=None,
      headwidth=3,
      headlength=5,
      headaxislength=4.5,
      minshaft=1,
      minlength=1,
      units="width",
      scale_units=None,
      angles="uv",
      width=None,
      color="k",
      pivot="tail",
      **kwargs,
  ):
      """
      The constructor takes one required argument, an Axes
      instance, followed by the args and kwargs described
      by the following pyplot interface documentation:
      %s
      """
      self._axes = (
          ax  # The attr actually set by the Artist.axes property.
      )
      X, Y, U, V, C = _parse_args(*args, caller_name="quiver")
      self.X = X
      self.Y = Y
      self.XY = np.column_stack((X, Y))
      self.N = len(X)
      self.scale = scale
      self.headwidth = headwidth
      self.headlength = float(headlength)
      self.headaxislength = headaxislength
      self.minshaft = minshaft
      self.minlength = minlength
      self.units = units
      self.scale_units = scale_units
      self.angles = angles
      self.width = width
  
      if pivot.lower() == "mid":
          pivot = "middle"
      self.pivot = pivot.lower()
      _api.check_in_list(self._PIVOT_VALS, pivot=self.pivot)
  
      self.transform = kwargs.pop("transform", ax.transData)
      kwargs.setdefault("facecolors", color)
      kwargs.setdefault("linewidths", (0,))
      super().__init__(
          [],
          offsets=self.XY,
          offset_transform=self.transform,
          closed=False,
          **kwargs,
      )
      self.polykw = kwargs
      self.set_UVC(U, V, C)
      self._dpi_at_last_init = None
  
imports: import math
  import numpy
  from numpy import ma
  from matplotlib import _api, cbook, _docstring
  import matplotlib.artist
  import matplotlib.collections
  from matplotlib.patches import CirclePolygon
  import matplotlib.text
  import matplotlib.transforms
label_desc: Use image node_id 1 to create a new Quiver object from inherited base classes: mcollections with example: obj = Quiver(ax)