Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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