class_docstr: Sankey diagram in matplotlib
  
    Sankey diagrams are a specific type of flow diagram, in which
    the width of the arrows is shown proportionally to the flow
    quantity.  They are typically used to visualize energy or
    material or cost transfers between processes.
    `Wikipedia (6/1/2011) <https://en.wikipedia.org/wiki/Sankey_diagram>`_
class_docstr_tok: ["Sankey","diagram","in","matplotlib","Sankey","diagrams","are","a","specific","type","of","flow","diagram",",","in","which","the","width","of","the","arrows","is","shown","proportionally","to","the","flow","quantity",".","They","are","typically","used","to","visualize","energy","or","material","or","cost","transfers","between","processes",".","`","Wikipedia","(","6\/1\/2011",")","<","https",":","\/\/en.wikipedia.org\/wiki\/Sankey_diagram",">","`","_"]
docstr: Return the codes and vertices for a rotated, scaled, and translated
  90 degree arc.
  
  Optional keyword arguments:
  
    ===============   ==========================================
    Keyword           Description
    ===============   ==========================================
    *quadrant*        uses 0-based indexing (0, 1, 2, or 3)
    *cw*              if True, clockwise
    *center*          (x, y) tuple of the arc's center
    ===============   ==========================================
docstr_tok: ["Return","the","codes","and","vertices","for","a","rotated",",","scaled",",","and","translated","90","degree","arc",".","Optional","keyword","arguments",":","===============","==========================================","Keyword","Description","===============","==========================================","*","quadrant","*","uses","0-based","indexing","(","0",",","1",",","2",",","or","3",")","*","cw","*","if","True",",","clockwise","*","center","*","(","x",",","y",")","tuple","of","the","arc","'s","center","===============","=========================================="]
code: def _arc(self, quadrant=0, cw=True, radius=1, center=(0, 0)):
      """
      Return the codes and vertices for a rotated, scaled, and translated
      90 degree arc.
  
      Optional keyword arguments:
  
        ===============   ==========================================
        Keyword           Description
        ===============   ==========================================
        *quadrant*        uses 0-based indexing (0, 1, 2, or 3)
        *cw*              if True, clockwise
        *center*          (x, y) tuple of the arc's center
        ===============   ==========================================
      """
      # Note:  It would be possible to use matplotlib's transforms to rotate,
      # scale, and translate the arc, but since the angles are discrete,
      # it's just as easy and maybe more efficient to do it here.
      ARC_CODES = [
          Path.LINETO,
          Path.CURVE4,
          Path.CURVE4,
          Path.CURVE4,
          Path.CURVE4,
          Path.CURVE4,
          Path.CURVE4,
      ]
      # Vertices of a cubic Bezier curve approximating a 90 deg arc
      # These can be determined by Path.arc(0,90).
      ARC_VERTICES = np.array(
          [
              [1.00000000e00, 0.00000000e00],
              [1.00000000e00, 2.65114773e-01],
              [8.94571235e-01, 5.19642327e-01],
              [7.07106781e-01, 7.07106781e-01],
              [5.19642327e-01, 8.94571235e-01],
              [2.65114773e-01, 1.00000000e00],
              # Insignificant
              # [6.12303177e-17, 1.00000000e+00]])
              [0.00000000e00, 1.00000000e00],
          ]
      )
      if quadrant == 0 or quadrant == 2:
          if cw:
              vertices = ARC_VERTICES
          else:
              vertices = ARC_VERTICES[:, ::-1]  # Swap x and y.
      elif quadrant == 1 or quadrant == 3:
          # Negate x.
          if cw:
              # Swap x and y.
              vertices = np.column_stack(
                  (-ARC_VERTICES[:, 1], ARC_VERTICES[:, 0])
              )
          else:
              vertices = np.column_stack(
                  (-ARC_VERTICES[:, 0], ARC_VERTICES[:, 1])
              )
      if quadrant > 1:
          radius = -radius  # Rotate 180 deg.
      return list(
          zip(
              ARC_CODES,
              radius * vertices
              + np.tile(center, (ARC_VERTICES.shape[0], 1)),
          )
      )
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import six
  import logging
  from six.moves import zip
  import numpy
  from matplotlib.cbook import iterable, Bunch
  from matplotlib.path import Path
  from matplotlib.patches import PathPatch
  from matplotlib.transforms import Affine2D
  from matplotlib import docstring
  from matplotlib import rcParams
label_desc: Use image node_id 2 for calling the Sankey obj's underlying member method code with example usage: obj._arc(quadrant, cw, radius, center) and returns: list