'The constructor takes one required argument, an Axes
instance, followed by the args and kwargs described
by the following pylab interface documentation:
%s'

@docstring.Substitution(_quiver_doc)
def __init__(self, ax, *args, **kw):

    self.ax = ax
    (X, Y, U, V, C) = _parse_args(*args)
    self.X = X
    self.Y = Y
    self.XY = np.hstack((X[:, np.newaxis], Y[:, np.newaxis]))
    self.N = len(X)
    self.scale = kw.pop(u'scale', None)
    self.headwidth = kw.pop(u'headwidth', 3)
    self.headlength = float(kw.pop(u'headlength', 5))
    self.headaxislength = kw.pop(u'headaxislength', 4.5)
    self.minshaft = kw.pop(u'minshaft', 1)
    self.minlength = kw.pop(u'minlength', 1)
    self.units = kw.pop(u'units', u'width')
    self.scale_units = kw.pop(u'scale_units', None)
    self.angles = kw.pop(u'angles', u'uv')
    self.width = kw.pop(u'width', None)
    self.color = kw.pop(u'color', u'k')
    pivot = kw.pop(u'pivot', u'tail').lower()
    if (pivot not in self._PIVOT_VALS):
        raise ValueError(u'pivot    must    be    one    of    {keys},    you    passed    {inp}'.format(keys=self._PIVOT_VALS, inp=pivot))
    if (pivot == u'mid'):
        pivot = u'middle'
    self.pivot = pivot
    self.transform = kw.pop(u'transform', ax.transData)
    kw.setdefault(u'facecolors', self.color)
    kw.setdefault(u'linewidths', (0,))
    mcollections.PolyCollection.__init__(self, [], offsets=self.XY, transOffset=self.transform, closed=False, **kw)
    self.polykw = kw
    self.set_UVC(U, V, C)
    self._initialized = False
    self.keyvec = None
    self.keytext = None
    weak_self = weakref.ref(self)
    def on_dpi_change(fig):
        self_weakref = weak_self()
        if (self_weakref is not None):
            self_weakref._new_UV = True
            self_weakref._initialized = False
    self._cid = self.ax.figure.callbacks.connect(u'dpi_changed', on_dpi_change)
