def __init__(self, arg=None, arrangement=None, bundlecolors=None, counts=None, countssrc=None, dimensions=None, dimensiondefaults=None, domain=None, hoverinfo=None, hoveron=None, hovertemplate=None, labelfont=None, line=None, name=None, sortpaths=None, stream=None, tickfont=None, uid=None, uirevision=None, visible=None, **kwargs): """ Construct a new Parcats object Parallel categories diagram for multidimensional categorical data. Parameters ---------- arg dict of properties compatible with this constructor or an instance of plotly.graph_objs.Parcats arrangement Sets the drag interaction mode for categories and dimensions. If `perpendicular`, the categories can only move along a line perpendicular to the paths. If `freeform`, the categories can freely move on the plane. If `fixed`, the categories and dimensions are stationary. bundlecolors Sort paths so that like colors are bundled together within each category. counts The number of observations represented by each state. Defaults to 1 so that each state represents one observation countssrc Sets the source reference on plot.ly for counts . dimensions The dimensions (variables) of the parallel categories diagram. dimensiondefaults When used in a template (as layout.template.data.parcats.dimensiondefaults), sets the default property values to use for elements of parcats.dimensions domain plotly.graph_objs.parcats.Domain instance or dict with compatible properties hoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. hoveron Sets the hover interaction mode for the parcats diagram. If `category`, hover interaction take place per category. If `color`, hover interactions take place per color per category. If `dimension`, hover interactions take place across all categories per dimension. 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 `count`, `probability`, `category`, `categorycount`, `colorcount` and `bandcolorcount`. Anything contained in tag `<extra>` is displayed in the secondary box, for example "<extra>{fullData.name}</extra>". labelfont Sets the font for the `dimension` labels. line plotly.graph_objs.parcats.Line instance or dict with compatible properties name Sets the trace name. The trace name appear as the legend item and on hover. sortpaths Sets the path sorting algorithm. If `forward`, sort paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left. stream plotly.graph_objs.parcats.Stream instance or dict with compatible properties tickfont Sets the font for the `category` labels. uid Assign an id to this trace, Use this to provide object constancy between traces during animations and transitions. uirevision Controls persistence of some user-driven changes to the trace: `constraintrange` in `parcoords` traces, as well as some `editable: true` modifications such as `name` and `colorbar.title`. Defaults to `layout.uirevision`. Note that other user-driven trace attribute changes are controlled by `layout` attributes: `trace.visible` is controlled by `layout.legend.uirevision`, `selectedpoints` is controlled by `layout.selectionrevision`, and `colorbar.(x|y)` (accessible with `config: {editable: true}`) is controlled by `layout.editrevision`. Trace changes are tracked by `uid`, which only falls back on trace index if no `uid` is provided. So if your app can add/remove traces before the end of the `data` array, such that the same trace has a different index, you can still preserve user-driven changes if you give each trace a `uid` that stays with it as it moves. visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). Returns ------- Parcats """ super(Parcats, self).__init__('parcats') # 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.Parcats constructor must be a dict or an instance of plotly.graph_objs.Parcats""") # Handle skip_invalid # ------------------- self._skip_invalid = kwargs.pop('skip_invalid', False) # Import validators # ----------------- from plotly.validators import (parcats as v_parcats) # Initialize validators # --------------------- self._validators['arrangement'] = v_parcats.ArrangementValidator() self._validators['bundlecolors'] = v_parcats.BundlecolorsValidator() self._validators['counts'] = v_parcats.CountsValidator() self._validators['countssrc'] = v_parcats.CountssrcValidator() self._validators['dimensions'] = v_parcats.DimensionsValidator() self._validators['dimensiondefaults'] = v_parcats.DimensionValidator() self._validators['domain'] = v_parcats.DomainValidator() self._validators['hoverinfo'] = v_parcats.HoverinfoValidator() self._validators['hoveron'] = v_parcats.HoveronValidator() self._validators['hovertemplate'] = v_parcats.HovertemplateValidator() self._validators['labelfont'] = v_parcats.LabelfontValidator() self._validators['line'] = v_parcats.LineValidator() self._validators['name'] = v_parcats.NameValidator() self._validators['sortpaths'] = v_parcats.SortpathsValidator() self._validators['stream'] = v_parcats.StreamValidator() self._validators['tickfont'] = v_parcats.TickfontValidator() self._validators['uid'] = v_parcats.UidValidator() self._validators['uirevision'] = v_parcats.UirevisionValidator() self._validators['visible'] = v_parcats.VisibleValidator() # Populate data dict with properties # ---------------------------------- _v = arg.pop('arrangement', None) self['arrangement'] = arrangement if arrangement is not None else _v _v = arg.pop('bundlecolors', None) self['bundlecolors'] = bundlecolors if bundlecolors is not None else _v _v = arg.pop('counts', None) self['counts'] = counts if counts is not None else _v _v = arg.pop('countssrc', None) self['countssrc'] = countssrc if countssrc is not None else _v _v = arg.pop('dimensions', None) self['dimensions'] = dimensions if dimensions is not None else _v _v = arg.pop('dimensiondefaults', None) self[ 'dimensiondefaults'] = dimensiondefaults if dimensiondefaults is not None else _v _v = arg.pop('domain', None) self['domain'] = domain if domain is not None else _v _v = arg.pop('hoverinfo', None) self['hoverinfo'] = hoverinfo if hoverinfo is not None else _v _v = arg.pop('hoveron', None) self['hoveron'] = hoveron if hoveron is not None else _v _v = arg.pop('hovertemplate', None) self[ 'hovertemplate'] = hovertemplate if hovertemplate is not None else _v _v = arg.pop('labelfont', None) self['labelfont'] = labelfont if labelfont is not None else _v _v = arg.pop('line', None) self['line'] = line if line is not None else _v _v = arg.pop('name', None) self['name'] = name if name is not None else _v _v = arg.pop('sortpaths', None) self['sortpaths'] = sortpaths if sortpaths is not None else _v _v = arg.pop('stream', None) self['stream'] = stream if stream is not None else _v _v = arg.pop('tickfont', None) self['tickfont'] = tickfont if tickfont is not None else _v _v = arg.pop('uid', None) self['uid'] = uid if uid is not None else _v _v = arg.pop('uirevision', None) self['uirevision'] = uirevision if uirevision is not None else _v _v = arg.pop('visible', None) self['visible'] = visible if visible is not None else _v # Read-only literals # ------------------ from _plotly_utils.basevalidators import LiteralValidator self._props['type'] = 'parcats' self._validators['type'] = LiteralValidator(plotly_name='type', parent_name='parcats', val='parcats') arg.pop('type', None) # Process unknown kwargs # ---------------------- self._process_kwargs(**dict(arg, **kwargs)) # Reset skip_invalid # ------------------ self._skip_invalid = False
def __init__(self, arg=None, arrangement=None, bundlecolors=None, counts=None, countssrc=None, dimensions=None, dimensiondefaults=None, domain=None, hoverinfo=None, hoveron=None, labelfont=None, line=None, name=None, sortpaths=None, stream=None, tickfont=None, uid=None, visible=None, **kwargs): """ Construct a new Parcats object Parallel categories diagram for multidimensional categorical data. Parameters ---------- arg dict of properties compatible with this constructor or an instance of plotly.graph_objs.Parcats arrangement Sets the drag interaction mode for categories and dimensions. If `perpendicular`, the categories can only move along a line perpendicular to the paths. If `freeform`, the categories can freely move on the plane. If `fixed`, the categories and dimensions are stationary. bundlecolors Sort paths so that like colors are bundled together within each category. counts The number of observations represented by each state. Defaults to 1 so that each state represents one observation countssrc Sets the source reference on plot.ly for counts . dimensions The dimensions (variables) of the parallel categories diagram. dimensiondefaults When used in a template (as layout.template.data.parcats.dimensiondefaults), sets the default property values to use for elements of parcats.dimensions domain plotly.graph_objs.parcats.Domain instance or dict with compatible properties hoverinfo Determines which trace information appear on hover. If `none` or `skip` are set, no information is displayed upon hovering. But, if `none` is set, click and hover events are still fired. hoveron Sets the hover interaction mode for the parcats diagram. If `category`, hover interaction take place per category. If `color`, hover interactions take place per color per category. If `dimension`, hover interactions take place across all categories per dimension. labelfont Sets the font for the `dimension` labels. line plotly.graph_objs.parcats.Line instance or dict with compatible properties name Sets the trace name. The trace name appear as the legend item and on hover. sortpaths Sets the path sorting algorithm. If `forward`, sort paths based on dimension categories from left to right. If `backward`, sort paths based on dimensions categories from right to left. stream plotly.graph_objs.parcats.Stream instance or dict with compatible properties tickfont Sets the font for the `category` labels. uid visible Determines whether or not this trace is visible. If "legendonly", the trace is not drawn, but can appear as a legend item (provided that the legend itself is visible). Returns ------- Parcats """ super(Parcats, self).__init__('parcats') # 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.Parcats constructor must be a dict or an instance of plotly.graph_objs.Parcats""") # Handle skip_invalid # ------------------- self._skip_invalid = kwargs.pop('skip_invalid', False) # Import validators # ----------------- from plotly.validators import (parcats as v_parcats) # Initialize validators # --------------------- self._validators['arrangement'] = v_parcats.ArrangementValidator() self._validators['bundlecolors'] = v_parcats.BundlecolorsValidator() self._validators['counts'] = v_parcats.CountsValidator() self._validators['countssrc'] = v_parcats.CountssrcValidator() self._validators['dimensions'] = v_parcats.DimensionsValidator() self._validators['dimensiondefaults'] = v_parcats.DimensionValidator() self._validators['domain'] = v_parcats.DomainValidator() self._validators['hoverinfo'] = v_parcats.HoverinfoValidator() self._validators['hoveron'] = v_parcats.HoveronValidator() self._validators['labelfont'] = v_parcats.LabelfontValidator() self._validators['line'] = v_parcats.LineValidator() self._validators['name'] = v_parcats.NameValidator() self._validators['sortpaths'] = v_parcats.SortpathsValidator() self._validators['stream'] = v_parcats.StreamValidator() self._validators['tickfont'] = v_parcats.TickfontValidator() self._validators['uid'] = v_parcats.UidValidator() self._validators['visible'] = v_parcats.VisibleValidator() # Populate data dict with properties # ---------------------------------- _v = arg.pop('arrangement', None) self['arrangement'] = arrangement if arrangement is not None else _v _v = arg.pop('bundlecolors', None) self['bundlecolors'] = bundlecolors if bundlecolors is not None else _v _v = arg.pop('counts', None) self['counts'] = counts if counts is not None else _v _v = arg.pop('countssrc', None) self['countssrc'] = countssrc if countssrc is not None else _v _v = arg.pop('dimensions', None) self['dimensions'] = dimensions if dimensions is not None else _v _v = arg.pop('dimensiondefaults', None) self[ 'dimensiondefaults'] = dimensiondefaults if dimensiondefaults is not None else _v _v = arg.pop('domain', None) self['domain'] = domain if domain is not None else _v _v = arg.pop('hoverinfo', None) self['hoverinfo'] = hoverinfo if hoverinfo is not None else _v _v = arg.pop('hoveron', None) self['hoveron'] = hoveron if hoveron is not None else _v _v = arg.pop('labelfont', None) self['labelfont'] = labelfont if labelfont is not None else _v _v = arg.pop('line', None) self['line'] = line if line is not None else _v _v = arg.pop('name', None) self['name'] = name if name is not None else _v _v = arg.pop('sortpaths', None) self['sortpaths'] = sortpaths if sortpaths is not None else _v _v = arg.pop('stream', None) self['stream'] = stream if stream is not None else _v _v = arg.pop('tickfont', None) self['tickfont'] = tickfont if tickfont is not None else _v _v = arg.pop('uid', None) self['uid'] = uid if uid is not None else _v _v = arg.pop('visible', None) self['visible'] = visible if visible is not None else _v # Read-only literals # ------------------ from _plotly_utils.basevalidators import LiteralValidator self._props['type'] = 'parcats' self._validators['type'] = LiteralValidator(plotly_name='type', parent_name='parcats', val='parcats') arg.pop('type', None) # Process unknown kwargs # ---------------------- self._process_kwargs(**dict(arg, **kwargs)) # Reset skip_invalid # ------------------ self._skip_invalid = False