class_docstr: Barbs are traditionally used in meteorology as a way to plot the speed and
  direction of wind observations, but can technically be used to plot any two
  dimensional vector quantity. As opposed to arrows, which give vector
  magnitude by the length of the arrow, the barbs give more quantitative
  information about the vector magnitude by putting slanted lines or a
  triangle for various increments in magnitude.
  
  The largest increment is given by a triangle (or "flag"). After those come full lines (barbs).
  The smallest increment is a half line. There is only, of course, ever at most 1 half line.
  If the magnitude is small and only needs a single half-line and no full lines or
  triangles, the half-line is offset from the end of the barb so that it can be
  easily distinguished from barbs with a single full line. The magnitude for the barb
  shown above would nominally be 65, using the standard increments of 50, 10, and 5.
code: def _get_us_vs(self, element):
      radians = element.dimension_values(2) if len(element.data) else []
  
      mag_dim = element.get_dimension(3)
      if isinstance(mag_dim, dim):
          magnitudes = mag_dim.apply(element, flat=True)
      else:
          magnitudes = element.dimension_values(mag_dim)
  
      if self.convention == "to":
          radians -= np.pi
  
      if self.invert_axes:
          radians -= 0.5 * np.pi
  
      us = -magnitudes * np.sin(radians.flatten())
      vs = -magnitudes * np.cos(radians.flatten())
  
      return us, vs
  
file_path: geoviews/geoviews/plotting/mpl/chart.py
imports: import param
  import numpy
  from holoviews.plotting.mpl.element import ColorbarPlot
  from holoviews.util.transform import dim
  from holoviews.core.options import abbreviated_exception
label_desc: Use image node_id 1 for calling the WindBarbsPlot obj's underlying member method code with example usage: obj._get_us_vs(element) and returns: us,  vs