docstr: Construct a new Link object
  
  The links of the Sankey plot.
  
  Parameters
  ----------
  arg
      dict of properties compatible with this constructor or
      an instance of :class:`plotly.graph_objs.sankey.Link`
  arrowlen
      Sets the length (in px) of the links arrow, if 0 no
      arrow will be drawn.
  color
      Sets the `link` color. It can be a single value, or an
      array for specifying color for each `link`. If
      `link.color` is omitted, then by default, a translucent
      grey link will be used.
  colorscales
      A tuple of
      :class:`plotly.graph_objects.sankey.link.Colorscale`
      instances or dicts with compatible properties
  colorscaledefaults
      When used in a template (as
      layout.template.data.sankey.link.colorscaledefaults),
      sets the default property values to use for elements of
      sankey.link.colorscales
  colorsrc
      Sets the source reference on Chart Studio Cloud for
      `color`.
  customdata
      Assigns extra data to each link.
  customdatasrc
      Sets the source reference on Chart Studio Cloud for
      `customdata`.
  hoverinfo
      Determines which trace information appear when hovering
      links. If `none` or `skip` are set, no information is
      displayed upon hovering. But, if `none` is set, click
      and hover events are still fired.
  hoverlabel
      :class:`plotly.graph_objects.sankey.link.Hoverlabel`
      instance or dict with compatible properties
  hovertemplate
      Template string used for rendering the information that
      appear on hover box. Note that this will override
      `hoverinfo`. Variables are inserted using %{variable},
      for example "y: %{y}" as well as %{xother}, {%_xother},
      {%_xother_}, {%xother_}. When showing info for several
      points, "xother" will be added to those with different
      x positions from the first point. An underscore before
      or after "(x|y)other" will add a space on that side,
      only when this field is shown. Numbers are formatted
      using d3-format's syntax %{variable:d3-format}, for
      example "Price: %{y:$.2f}".
      https://github.com/d3/d3-format/tree/v1.4.5#d3-format
      for details on the formatting syntax. Dates are
      formatted using d3-time-format's syntax
      %{variable|d3-time-format}, for example "Day:
      %{2019-01-01|%A}". https://github.com/d3/d3-time-
      format/tree/v2.2.3#locale_format for details on the
      date formatting syntax. The variables available in
      `hovertemplate` are the ones emitted as event data
      described at this link
      https://plotly.com/javascript/plotlyjs-events/#event-
      data. Additionally, every attributes that can be
      specified per-point (the ones that are `arrayOk: true`)
      are available.  Variables `source` and `target` are
      node objects.Finally, the template string has access to
      variables `value` and `label`. Anything contained in
      tag `<extra>` is displayed in the secondary box, for
      example "<extra>{fullData.name}</extra>". To hide the
      secondary box completely, use an empty tag
      `<extra></extra>`.
  hovertemplatesrc
      Sets the source reference on Chart Studio Cloud for
      `hovertemplate`.
  label
      The shown name of the link.
  labelsrc
      Sets the source reference on Chart Studio Cloud for
      `label`.
  line
      :class:`plotly.graph_objects.sankey.link.Line` instance
      or dict with compatible properties
  source
      An integer number `[0..nodes.length - 1]` that
      represents the source node.
  sourcesrc
      Sets the source reference on Chart Studio Cloud for
      `source`.
  target
      An integer number `[0..nodes.length - 1]` that
      represents the target node.
  targetsrc
      Sets the source reference on Chart Studio Cloud for
      `target`.
  value
      A numeric value representing the flow volume value.
  valuesrc
      Sets the source reference on Chart Studio Cloud for
      `value`.
  
  Returns
  -------
  Link
docstr_tok: ["Construct","a","new","Link","object","The","links","of","the","Sankey","plot",".","Parameters","--","--","--","--","--","arg","dict","of","properties","compatible","with","this","constructor","or","an","instance","of",":","class",":","`","plotly.graph_objs.sankey.Link","`","arrowlen","Sets","the","length","(","in","px",")","of","the","links","arrow",",","if","0","no","arrow","will","be","drawn",".","color","Sets","the","`","link","`","color",".","It","can","be","a","single","value",",","or","an","array","for","specifying","color","for","each","`","link","`",".","If","`","link.color","`","is","omitted",",","then","by","default",",","a","translucent","grey","link","will","be","used",".","colorscales","A","tuple","of",":","class",":","`","plotly.graph_objects.sankey.link.Colorscale","`","instances","or","dicts","with","compatible","properties","colorscaledefaults","When","used","in","a","template","(","as","layout.template.data.sankey.link.colorscaledefaults",")",",","sets","the","default","property","values","to","use","for","elements","of","sankey.link.colorscales","colorsrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","color","`",".","customdata","Assigns","extra","data","to","each","link",".","customdatasrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","customdata","`",".","hoverinfo","Determines","which","trace","information","appear","when","hovering","links",".","If","`","none","`","or","`","skip","`","are","set",",","no","information","is","displayed","upon","hovering",".","But",",","if","`","none","`","is","set",",","click","and","hover","events","are","still","fired",".","hoverlabel",":","class",":","`","plotly.graph_objects.sankey.link.Hoverlabel","`","instance","or","dict","with","compatible","properties","hovertemplate","Template","string","used","for","rendering","the","information","that","appear","on","hover","box",".","Note","that","this","will","override","`","hoverinfo","`",".","Variables","are","inserted","using","%","{","variable","}",",","for","example","``","y",":","%","{","y","}","''","as","well","as","%","{","xother","}",",","{","%","_xother","}",",","{","%","_xother_","}",",","{","%","xother_","}",".","When","showing","info","for","several","points",",","``","xother","''","will","be","added","to","those","with","different","x","positions","from","the","first","point",".","An","underscore","before","or","after","``","(","x|y",")","other","''","will","add","a","space","on","that","side",",","only","when","this","field","is","shown",".","Numbers","are","formatted","using","d3-format","'s","syntax","%","{","variable",":","d3-format","}",",","for","example","``","Price",":","%","{","y",":","$",".2f","}","''",".","https",":","\/\/github.com\/d3\/d3-format\/tree\/v1.4.5","#","d3-format","for","details","on","the","formatting","syntax",".","Dates","are","formatted","using","d3-time-format","'s","syntax","%","{","variable|d3-time-format","}",",","for","example","``","Day",":","%","{","2019-01-01|","%","A","}","''",".","https",":","\/\/github.com\/d3\/d3-time-","format\/tree\/v2.2.3","#","locale_format","for","details","on","the","date","formatting","syntax",".","The","variables","available","in","`","hovertemplate","`","are","the","ones","emitted","as","event","data","described","at","this","link","https",":","\/\/plotly.com\/javascript\/plotlyjs-events\/","#","event-","data",".","Additionally",",","every","attributes","that","can","be","specified","per-point","(","the","ones","that","are","`","arrayOk",":","true","`",")","are","available",".","Variables","`","source","`","and","`","target","`","are","node","objects.Finally",",","the","template","string","has","access","to","variables","`","value","`","and","`","label","`",".","Anything","contained","in","tag","`","<","extra",">","`","is","displayed","in","the","secondary","box",",","for","example","``","<","extra",">","{","fullData.name","}","<","\/extra",">","''",".","To","hide","the","secondary","box","completely",",","use","an","empty","tag","`","<","extra",">","<","\/extra",">","`",".","hovertemplatesrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","hovertemplate","`",".","label","The","shown","name","of","the","link",".","labelsrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","label","`",".","line",":","class",":","`","plotly.graph_objects.sankey.link.Line","`","instance","or","dict","with","compatible","properties","source","An","integer","number","`","[","0","..","nodes.length","-","1","]","`","that","represents","the","source","node",".","sourcesrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","source","`",".","target","An","integer","number","`","[","0","..","nodes.length","-","1","]","`","that","represents","the","target","node",".","targetsrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","target","`",".","value","A","numeric","value","representing","the","flow","volume","value",".","valuesrc","Sets","the","source","reference","on","Chart","Studio","Cloud","for","`","value","`",".","Returns","--","--","--","-","Link"]
code: def __init__(
      self,
      arg=None,
      arrowlen=None,
      color=None,
      colorscales=None,
      colorscaledefaults=None,
      colorsrc=None,
      customdata=None,
      customdatasrc=None,
      hoverinfo=None,
      hoverlabel=None,
      hovertemplate=None,
      hovertemplatesrc=None,
      label=None,
      labelsrc=None,
      line=None,
      source=None,
      sourcesrc=None,
      target=None,
      targetsrc=None,
      value=None,
      valuesrc=None,
      **kwargs,
  ):
      """
      Construct a new Link object
  
      The links of the Sankey plot.
  
      Parameters
      ----------
      arg
          dict of properties compatible with this constructor or
          an instance of :class:`plotly.graph_objs.sankey.Link`
      arrowlen
          Sets the length (in px) of the links arrow, if 0 no
          arrow will be drawn.
      color
          Sets the `link` color. It can be a single value, or an
          array for specifying color for each `link`. If
          `link.color` is omitted, then by default, a translucent
          grey link will be used.
      colorscales
          A tuple of
          :class:`plotly.graph_objects.sankey.link.Colorscale`
          instances or dicts with compatible properties
      colorscaledefaults
          When used in a template (as
          layout.template.data.sankey.link.colorscaledefaults),
          sets the default property values to use for elements of
          sankey.link.colorscales
      colorsrc
          Sets the source reference on Chart Studio Cloud for
          `color`.
      customdata
          Assigns extra data to each link.
      customdatasrc
          Sets the source reference on Chart Studio Cloud for
          `customdata`.
      hoverinfo
          Determines which trace information appear when hovering
          links. If `none` or `skip` are set, no information is
          displayed upon hovering. But, if `none` is set, click
          and hover events are still fired.
      hoverlabel
          :class:`plotly.graph_objects.sankey.link.Hoverlabel`
          instance or dict with compatible properties
      hovertemplate
          Template string used for rendering the information that
          appear on hover box. Note that this will override
          `hoverinfo`. Variables are inserted using %{variable},
          for example "y: %{y}" as well as %{xother}, {%_xother},
          {%_xother_}, {%xother_}. When showing info for several
          points, "xother" will be added to those with different
          x positions from the first point. An underscore before
          or after "(x|y)other" will add a space on that side,
          only when this field is shown. Numbers are formatted
          using d3-format's syntax %{variable:d3-format}, for
          example "Price: %{y:$.2f}".
          https://github.com/d3/d3-format/tree/v1.4.5#d3-format
          for details on the formatting syntax. Dates are
          formatted using d3-time-format's syntax
          %{variable|d3-time-format}, for example "Day:
          %{2019-01-01|%A}". https://github.com/d3/d3-time-
          format/tree/v2.2.3#locale_format for details on the
          date formatting syntax. The variables available in
          `hovertemplate` are the ones emitted as event data
          described at this link
          https://plotly.com/javascript/plotlyjs-events/#event-
          data. Additionally, every attributes that can be
          specified per-point (the ones that are `arrayOk: true`)
          are available.  Variables `source` and `target` are
          node objects.Finally, the template string has access to
          variables `value` and `label`. Anything contained in
          tag `<extra>` is displayed in the secondary box, for
          example "<extra>{fullData.name}</extra>". To hide the
          secondary box completely, use an empty tag
          `<extra></extra>`.
      hovertemplatesrc
          Sets the source reference on Chart Studio Cloud for
          `hovertemplate`.
      label
          The shown name of the link.
      labelsrc
          Sets the source reference on Chart Studio Cloud for
          `label`.
      line
          :class:`plotly.graph_objects.sankey.link.Line` instance
          or dict with compatible properties
      source
          An integer number `[0..nodes.length - 1]` that
          represents the source node.
      sourcesrc
          Sets the source reference on Chart Studio Cloud for
          `source`.
      target
          An integer number `[0..nodes.length - 1]` that
          represents the target node.
      targetsrc
          Sets the source reference on Chart Studio Cloud for
          `target`.
      value
          A numeric value representing the flow volume value.
      valuesrc
          Sets the source reference on Chart Studio Cloud for
          `value`.
  
      Returns
      -------
      Link
      """
      super(Link, self).__init__("link")
  
      if "_parent" in kwargs:
          self._parent = kwargs["_parent"]
          return
  
      # Validate arg
      # ------------
      if arg is None:
          arg = {}
      elif isinstance(arg, self.__class__):
          arg = arg.to_plotly_json()
      elif isinstance(arg, dict):
          arg = _copy.copy(arg)
      else:
          raise ValueError(
              """\
  The first argument to the plotly.graph_objs.sankey.Link
  constructor must be a dict or
  an instance of :class:`plotly.graph_objs.sankey.Link`"""
          )
  
      # Handle skip_invalid
      # -------------------
      self._skip_invalid = kwargs.pop("skip_invalid", False)
      self._validate = kwargs.pop("_validate", True)
  
      # Populate data dict with properties
      # ----------------------------------
      _v = arg.pop("arrowlen", None)
      _v = arrowlen if arrowlen is not None else _v
      if _v is not None:
          self["arrowlen"] = _v
      _v = arg.pop("color", None)
      _v = color if color is not None else _v
      if _v is not None:
          self["color"] = _v
      _v = arg.pop("colorscales", None)
      _v = colorscales if colorscales is not None else _v
      if _v is not None:
          self["colorscales"] = _v
      _v = arg.pop("colorscaledefaults", None)
      _v = colorscaledefaults if colorscaledefaults is not None else _v
      if _v is not None:
          self["colorscaledefaults"] = _v
      _v = arg.pop("colorsrc", None)
      _v = colorsrc if colorsrc is not None else _v
      if _v is not None:
          self["colorsrc"] = _v
      _v = arg.pop("customdata", None)
      _v = customdata if customdata is not None else _v
      if _v is not None:
          self["customdata"] = _v
      _v = arg.pop("customdatasrc", None)
      _v = customdatasrc if customdatasrc is not None else _v
      if _v is not None:
          self["customdatasrc"] = _v
      _v = arg.pop("hoverinfo", None)
      _v = hoverinfo if hoverinfo is not None else _v
      if _v is not None:
          self["hoverinfo"] = _v
      _v = arg.pop("hoverlabel", None)
      _v = hoverlabel if hoverlabel is not None else _v
      if _v is not None:
          self["hoverlabel"] = _v
      _v = arg.pop("hovertemplate", None)
      _v = hovertemplate if hovertemplate is not None else _v
      if _v is not None:
          self["hovertemplate"] = _v
      _v = arg.pop("hovertemplatesrc", None)
      _v = hovertemplatesrc if hovertemplatesrc is not None else _v
      if _v is not None:
          self["hovertemplatesrc"] = _v
      _v = arg.pop("label", None)
      _v = label if label is not None else _v
      if _v is not None:
          self["label"] = _v
      _v = arg.pop("labelsrc", None)
      _v = labelsrc if labelsrc is not None else _v
      if _v is not None:
          self["labelsrc"] = _v
      _v = arg.pop("line", None)
      _v = line if line is not None else _v
      if _v is not None:
          self["line"] = _v
      _v = arg.pop("source", None)
      _v = source if source is not None else _v
      if _v is not None:
          self["source"] = _v
      _v = arg.pop("sourcesrc", None)
      _v = sourcesrc if sourcesrc is not None else _v
      if _v is not None:
          self["sourcesrc"] = _v
      _v = arg.pop("target", None)
      _v = target if target is not None else _v
      if _v is not None:
          self["target"] = _v
      _v = arg.pop("targetsrc", None)
      _v = targetsrc if targetsrc is not None else _v
      if _v is not None:
          self["targetsrc"] = _v
      _v = arg.pop("value", None)
      _v = value if value is not None else _v
      if _v is not None:
          self["value"] = _v
      _v = arg.pop("valuesrc", None)
      _v = valuesrc if valuesrc is not None else _v
      if _v is not None:
          self["valuesrc"] = _v
  
      # Process unknown kwargs
      # ----------------------
      self._process_kwargs(**dict(arg, **kwargs))
  
      # Reset skip_invalid
      # ------------------
      self._skip_invalid = False
  
imports: from plotly.basedatatypes import BaseTraceHierarchyType
  import copy
label_desc: Use image node_id 42 to create a new Link object from inherited base classes: _BaseTraceHierarchyType with example: obj = Link(arg, arrowlen, color, colorscales, colorscaledefaults, colorsrc, customdata, customdatasrc, hoverinfo, hoverlabel, hovertemplate, hovertemplatesrc, label, labelsrc, line, source, sourcesrc, target, targetsrc, value, valuesrc)