class_docstr: Specialized PolyCollection for barbs.
  
  The only API method is :meth:`set_UVC`, which can be used to
  change the size, orientation, and color of the arrows.  Locations
  are changed using the :meth:`set_offsets` collection method.
  Possibly this method will be useful in animations.
  
  There is one internal function :meth:`_find_tails` which finds
  exactly what should be put on the barb given the vector magnitude.
  From there :meth:`_make_barbs` is used to find the vertices of the
  polygon to represent the barb based on this information.
class_docstr_tok: ["Specialized","PolyCollection","for","barbs",".","The","only","API","method","is",":","meth",":","`","set_UVC","`",",","which","can","be","used","to","change","the","size",",","orientation",",","and","color","of","the","arrows",".","Locations","are","changed","using","the",":","meth",":","`","set_offsets","`","collection","method",".","Possibly","this","method","will","be","useful","in","animations",".","There","is","one","internal","function",":","meth",":","`","_find_tails","`","which","finds","exactly","what","should","be","put","on","the","barb","given","the","vector","magnitude",".","From","there",":","meth",":","`","_make_barbs","`","is","used","to","find","the","vertices","of","the","polygon","to","represent","the","barb","based","on","this","information","."]
docstr: Set the offsets for the barb polygons.  This saves the offsets passed
  in and actually sets version masked as appropriate for the existing
  U/V data. *offsets* should be a sequence.
  
  ACCEPTS: sequence of pairs of floats
docstr_tok: ["Set","the","offsets","for","the","barb","polygons",".","This","saves","the","offsets","passed","in","and","actually","sets","version","masked","as","appropriate","for","the","existing","U\/V","data",".","*","offsets","*","should","be","a","sequence",".","ACCEPTS",":","sequence","of","pairs","of","floats"]
code: def set_offsets(self, xy):
      """
      Set the offsets for the barb polygons.  This saves the offsets passed
      in and actually sets version masked as appropriate for the existing
      U/V data. *offsets* should be a sequence.
  
      ACCEPTS: sequence of pairs of floats
      """
      self.x = xy[:, 0]
      self.y = xy[:, 1]
      x, y, u, v = delete_masked_points(
          self.x.ravel(), self.y.ravel(), self.u, self.v
      )
      _check_consistent_shapes(x, y, u, v)
      xy = np.hstack((x[:, np.newaxis], y[:, np.newaxis]))
      mcollections.PolyCollection.set_offsets(self, xy)
      self.stale = True
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import six
  import math
  import weakref
  import numpy
  from numpy import ma
  import matplotlib.collections
  import matplotlib.transforms
  import matplotlib.text
  import matplotlib.artist
  from matplotlib.artist import allow_rasterization
  from matplotlib import docstring
  import matplotlib.font_manager
  from matplotlib.cbook import delete_masked_points
  from matplotlib.patches import CirclePolygon
label_desc: Use image node_id 5 for calling the Barbs obj's underlying member method code with example usage: obj.set_offsets(xy) without return types