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: Adjust the axes and return a list of information about the Sankey
  subdiagram(s).
  
  Return value is a list of subdiagrams represented with the following
  fields:
  
    ===============   ===================================================
    Field             Description
    ===============   ===================================================
    *patch*           Sankey outline (an instance of
                      :class:`~maplotlib.patches.PathPatch`)
    *flows*           values of the flows (positive for input, negative
                      for output)
    *angles*          list of angles of the arrows [deg/90]
                      For example, if the diagram has not been rotated,
                      an input to the top side will have an angle of 3
                      (DOWN), and an output from the top side will have
                      an angle of 1 (UP).  If a flow has been skipped
                      (because its magnitude is less than *tolerance*),
                      then its angle will be *None*.
    *tips*            array in which each row is an [x, y] pair
                      indicating the positions of the tips (or "dips") of
                      the flow paths
                      If the magnitude of a flow is less the *tolerance*
                      for the instance of :class:`Sankey`, the flow is
                      skipped and its tip will be at the center of the
                      diagram.
    *text*            :class:`~matplotlib.text.Text` instance for the
                      label of the diagram
    *texts*           list of :class:`~matplotlib.text.Text` instances
                      for the labels of flows
    ===============   ===================================================
  
  .. seealso::
  
      :meth:`add`
docstr_tok: ["Adjust","the","axes","and","return","a","list","of","information","about","the","Sankey","subdiagram","(","s",")",".","Return","value","is","a","list","of","subdiagrams","represented","with","the","following","fields",":","===============","===================================================","Field","Description","===============","===================================================","*","patch","*","Sankey","outline","(","an","instance","of",":","class",":","`","~maplotlib.patches.PathPatch","`",")","*","flows","*","values","of","the","flows","(","positive","for","input",",","negative","for","output",")","*","angles","*","list","of","angles","of","the","arrows","[","deg\/90","]","For","example",",","if","the","diagram","has","not","been","rotated",",","an","input","to","the","top","side","will","have","an","angle","of","3","(","DOWN",")",",","and","an","output","from","the","top","side","will","have","an","angle","of","1","(","UP",")",".","If","a","flow","has","been","skipped","(","because","its","magnitude","is","less","than","*","tolerance","*",")",",","then","its","angle","will","be","*","None","*",".","*","tips","*","array","in","which","each","row","is","an","[","x",",","y","]","pair","indicating","the","positions","of","the","tips","(","or","``","dips","''",")","of","the","flow","paths","If","the","magnitude","of","a","flow","is","less","the","*","tolerance","*","for","the","instance","of",":","class",":","`","Sankey","`",",","the","flow","is","skipped","and","its","tip","will","be","at","the","center","of","the","diagram",".","*","text","*",":","class",":","`","~matplotlib.text.Text","`","instance","for","the","label","of","the","diagram","*","texts","*","list","of",":","class",":","`","~matplotlib.text.Text","`","instances","for","the","labels","of","flows","===============","===================================================","..","seealso",":",":",":","meth",":","`","add","`"]
code: def finish(self):
      """
      Adjust the axes and return a list of information about the Sankey
      subdiagram(s).
  
      Return value is a list of subdiagrams represented with the following
      fields:
  
        ===============   ===================================================
        Field             Description
        ===============   ===================================================
        *patch*           Sankey outline (an instance of
                          :class:`~maplotlib.patches.PathPatch`)
        *flows*           values of the flows (positive for input, negative
                          for output)
        *angles*          list of angles of the arrows [deg/90]
                          For example, if the diagram has not been rotated,
                          an input to the top side will have an angle of 3
                          (DOWN), and an output from the top side will have
                          an angle of 1 (UP).  If a flow has been skipped
                          (because its magnitude is less than *tolerance*),
                          then its angle will be *None*.
        *tips*            array in which each row is an [x, y] pair
                          indicating the positions of the tips (or "dips") of
                          the flow paths
                          If the magnitude of a flow is less the *tolerance*
                          for the instance of :class:`Sankey`, the flow is
                          skipped and its tip will be at the center of the
                          diagram.
        *text*            :class:`~matplotlib.text.Text` instance for the
                          label of the diagram
        *texts*           list of :class:`~matplotlib.text.Text` instances
                          for the labels of flows
        ===============   ===================================================
  
      .. seealso::
  
          :meth:`add`
      """
      self.ax.axis(
          [
              self.extent[0] - self.margin,
              self.extent[1] + self.margin,
              self.extent[2] - self.margin,
              self.extent[3] + self.margin,
          ]
      )
      self.ax.set_aspect("equal", adjustable="datalim")
      return self.diagrams
  
file_path: catboost/contrib/python/matplotlib/py2/matplotlib/sankey.py
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 7 for calling the Sankey obj's underlying member method code with example usage: obj.finish() and returns: self