def __init__(self, arg=None, color=None, colorsrc=None, label=None, labelsrc=None, line=None, pad=None, thickness=None, **kwargs): """ Construct a new Node object The nodes of the Sankey plot. Parameters ---------- arg dict of properties compatible with this constructor or an instance of plotly.graph_objs.sankey.Node color Sets the `node` color. It can be a single value, or an array for specifying color for each `node`. If `node.color` is omitted, then the default `Plotly` color palette will be cycled through to have a variety of colors. These defaults are not fully opaque, to allow some visibility of what is beneath the node. colorsrc Sets the source reference on plot.ly for color . label The shown name of the node. labelsrc Sets the source reference on plot.ly for label . line plotly.graph_objs.sankey.node.Line instance or dict with compatible properties pad Sets the padding (in px) between the `nodes`. thickness Sets the thickness (in px) of the `nodes`. Returns ------- Node """ super(Node, self).__init__('node') # 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.Node constructor must be a dict or an instance of plotly.graph_objs.sankey.Node""") # Handle skip_invalid # ------------------- self._skip_invalid = kwargs.pop('skip_invalid', False) # Import validators # ----------------- from plotly.validators.sankey import (node as v_node) # Initialize validators # --------------------- self._validators['color'] = v_node.ColorValidator() self._validators['colorsrc'] = v_node.ColorsrcValidator() self._validators['label'] = v_node.LabelValidator() self._validators['labelsrc'] = v_node.LabelsrcValidator() self._validators['line'] = v_node.LineValidator() self._validators['pad'] = v_node.PadValidator() self._validators['thickness'] = v_node.ThicknessValidator() # Populate data dict with properties # ---------------------------------- _v = arg.pop('color', None) self['color'] = color if color is not None else _v _v = arg.pop('colorsrc', None) self['colorsrc'] = colorsrc if colorsrc is not None else _v _v = arg.pop('label', None) self['label'] = label if label is not None else _v _v = arg.pop('labelsrc', None) self['labelsrc'] = labelsrc if labelsrc is not None else _v _v = arg.pop('line', None) self['line'] = line if line is not None else _v _v = arg.pop('pad', None) self['pad'] = pad if pad is not None else _v _v = arg.pop('thickness', None) self['thickness'] = thickness if thickness is not None else _v # Process unknown kwargs # ---------------------- self._process_kwargs(**dict(arg, **kwargs)) # Reset skip_invalid # ------------------ self._skip_invalid = False
def __init__(self, arg=None, color=None, colorsrc=None, groups=None, hoverinfo=None, hoverlabel=None, hovertemplate=None, hovertemplatesrc=None, label=None, labelsrc=None, line=None, pad=None, thickness=None, **kwargs): """ Construct a new Node object The nodes of the Sankey plot. Parameters ---------- arg dict of properties compatible with this constructor or an instance of plotly.graph_objs.sankey.Node color Sets the `node` color. It can be a single value, or an array for specifying color for each `node`. If `node.color` is omitted, then the default `Plotly` color palette will be cycled through to have a variety of colors. These defaults are not fully opaque, to allow some visibility of what is beneath the node. colorsrc Sets the source reference on plot.ly for color . groups Groups of nodes. Each group is defined by an array with the indices of the nodes it contains. Multiple groups can be specified. hoverinfo Determines which trace information appear when hovering nodes. 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 plotly.graph_objs.sankey.node.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}". Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example "Price: %{y:$.2f}". See https://github.com/d3/d3-format /blob/master/README.md#locale_format for details on the formatting syntax. The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plot.ly/javascript/plotlyjs-events/#event-data. Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available. variables `value` and `label`. Anything contained in tag `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". hovertemplatesrc Sets the source reference on plot.ly for hovertemplate . label The shown name of the node. labelsrc Sets the source reference on plot.ly for label . line plotly.graph_objs.sankey.node.Line instance or dict with compatible properties pad Sets the padding (in px) between the `nodes`. thickness Sets the thickness (in px) of the `nodes`. Returns ------- Node """ super(Node, self).__init__('node') # 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.Node constructor must be a dict or an instance of plotly.graph_objs.sankey.Node""") # Handle skip_invalid # ------------------- self._skip_invalid = kwargs.pop('skip_invalid', False) # Import validators # ----------------- from plotly.validators.sankey import (node as v_node) # Initialize validators # --------------------- self._validators['color'] = v_node.ColorValidator() self._validators['colorsrc'] = v_node.ColorsrcValidator() self._validators['groups'] = v_node.GroupsValidator() self._validators['hoverinfo'] = v_node.HoverinfoValidator() self._validators['hoverlabel'] = v_node.HoverlabelValidator() self._validators['hovertemplate'] = v_node.HovertemplateValidator() self._validators[ 'hovertemplatesrc'] = v_node.HovertemplatesrcValidator() self._validators['label'] = v_node.LabelValidator() self._validators['labelsrc'] = v_node.LabelsrcValidator() self._validators['line'] = v_node.LineValidator() self._validators['pad'] = v_node.PadValidator() self._validators['thickness'] = v_node.ThicknessValidator() # Populate data dict with properties # ---------------------------------- _v = arg.pop('color', None) self['color'] = color if color is not None else _v _v = arg.pop('colorsrc', None) self['colorsrc'] = colorsrc if colorsrc is not None else _v _v = arg.pop('groups', None) self['groups'] = groups if groups is not None else _v _v = arg.pop('hoverinfo', None) self['hoverinfo'] = hoverinfo if hoverinfo is not None else _v _v = arg.pop('hoverlabel', None) self['hoverlabel'] = hoverlabel if hoverlabel is not None else _v _v = arg.pop('hovertemplate', None) self[ 'hovertemplate'] = hovertemplate if hovertemplate is not None else _v _v = arg.pop('hovertemplatesrc', None) self[ 'hovertemplatesrc'] = hovertemplatesrc if hovertemplatesrc is not None else _v _v = arg.pop('label', None) self['label'] = label if label is not None else _v _v = arg.pop('labelsrc', None) self['labelsrc'] = labelsrc if labelsrc is not None else _v _v = arg.pop('line', None) self['line'] = line if line is not None else _v _v = arg.pop('pad', None) self['pad'] = pad if pad is not None else _v _v = arg.pop('thickness', None) self['thickness'] = thickness if thickness is not None else _v # Process unknown kwargs # ---------------------- self._process_kwargs(**dict(arg, **kwargs)) # Reset skip_invalid # ------------------ self._skip_invalid = False