mirror of
https://github.com/aykhans/AzSuicideDataVisualization.git
synced 2025-04-22 10:28:02 +00:00
206 lines
7.1 KiB
Python
206 lines
7.1 KiB
Python
from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType
|
|
import copy as _copy
|
|
|
|
|
|
class Cumulative(_BaseTraceHierarchyType):
|
|
|
|
# class properties
|
|
# --------------------
|
|
_parent_path_str = "histogram"
|
|
_path_str = "histogram.cumulative"
|
|
_valid_props = {"currentbin", "direction", "enabled"}
|
|
|
|
# currentbin
|
|
# ----------
|
|
@property
|
|
def currentbin(self):
|
|
"""
|
|
Only applies if cumulative is enabled. Sets whether the current
|
|
bin is included, excluded, or has half of its value included in
|
|
the current cumulative value. "include" is the default for
|
|
compatibility with various other tools, however it introduces a
|
|
half-bin bias to the results. "exclude" makes the opposite
|
|
half-bin bias, and "half" removes it.
|
|
|
|
The 'currentbin' property is an enumeration that may be specified as:
|
|
- One of the following enumeration values:
|
|
['include', 'exclude', 'half']
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["currentbin"]
|
|
|
|
@currentbin.setter
|
|
def currentbin(self, val):
|
|
self["currentbin"] = val
|
|
|
|
# direction
|
|
# ---------
|
|
@property
|
|
def direction(self):
|
|
"""
|
|
Only applies if cumulative is enabled. If "increasing"
|
|
(default) we sum all prior bins, so the result increases from
|
|
left to right. If "decreasing" we sum later bins so the result
|
|
decreases from left to right.
|
|
|
|
The 'direction' property is an enumeration that may be specified as:
|
|
- One of the following enumeration values:
|
|
['increasing', 'decreasing']
|
|
|
|
Returns
|
|
-------
|
|
Any
|
|
"""
|
|
return self["direction"]
|
|
|
|
@direction.setter
|
|
def direction(self, val):
|
|
self["direction"] = val
|
|
|
|
# enabled
|
|
# -------
|
|
@property
|
|
def enabled(self):
|
|
"""
|
|
If true, display the cumulative distribution by summing the
|
|
binned values. Use the `direction` and `centralbin` attributes
|
|
to tune the accumulation method. Note: in this mode, the
|
|
"density" `histnorm` settings behave the same as their
|
|
equivalents without "density": "" and "density" both rise to
|
|
the number of data points, and "probability" and *probability
|
|
density* both rise to the number of sample points.
|
|
|
|
The 'enabled' property must be specified as a bool
|
|
(either True, or False)
|
|
|
|
Returns
|
|
-------
|
|
bool
|
|
"""
|
|
return self["enabled"]
|
|
|
|
@enabled.setter
|
|
def enabled(self, val):
|
|
self["enabled"] = val
|
|
|
|
# Self properties description
|
|
# ---------------------------
|
|
@property
|
|
def _prop_descriptions(self):
|
|
return """\
|
|
currentbin
|
|
Only applies if cumulative is enabled. Sets whether the
|
|
current bin is included, excluded, or has half of its
|
|
value included in the current cumulative value.
|
|
"include" is the default for compatibility with various
|
|
other tools, however it introduces a half-bin bias to
|
|
the results. "exclude" makes the opposite half-bin
|
|
bias, and "half" removes it.
|
|
direction
|
|
Only applies if cumulative is enabled. If "increasing"
|
|
(default) we sum all prior bins, so the result
|
|
increases from left to right. If "decreasing" we sum
|
|
later bins so the result decreases from left to right.
|
|
enabled
|
|
If true, display the cumulative distribution by summing
|
|
the binned values. Use the `direction` and `centralbin`
|
|
attributes to tune the accumulation method. Note: in
|
|
this mode, the "density" `histnorm` settings behave the
|
|
same as their equivalents without "density": "" and
|
|
"density" both rise to the number of data points, and
|
|
"probability" and *probability density* both rise to
|
|
the number of sample points.
|
|
"""
|
|
|
|
def __init__(
|
|
self, arg=None, currentbin=None, direction=None, enabled=None, **kwargs
|
|
):
|
|
"""
|
|
Construct a new Cumulative object
|
|
|
|
Parameters
|
|
----------
|
|
arg
|
|
dict of properties compatible with this constructor or
|
|
an instance of
|
|
:class:`plotly.graph_objs.histogram.Cumulative`
|
|
currentbin
|
|
Only applies if cumulative is enabled. Sets whether the
|
|
current bin is included, excluded, or has half of its
|
|
value included in the current cumulative value.
|
|
"include" is the default for compatibility with various
|
|
other tools, however it introduces a half-bin bias to
|
|
the results. "exclude" makes the opposite half-bin
|
|
bias, and "half" removes it.
|
|
direction
|
|
Only applies if cumulative is enabled. If "increasing"
|
|
(default) we sum all prior bins, so the result
|
|
increases from left to right. If "decreasing" we sum
|
|
later bins so the result decreases from left to right.
|
|
enabled
|
|
If true, display the cumulative distribution by summing
|
|
the binned values. Use the `direction` and `centralbin`
|
|
attributes to tune the accumulation method. Note: in
|
|
this mode, the "density" `histnorm` settings behave the
|
|
same as their equivalents without "density": "" and
|
|
"density" both rise to the number of data points, and
|
|
"probability" and *probability density* both rise to
|
|
the number of sample points.
|
|
|
|
Returns
|
|
-------
|
|
Cumulative
|
|
"""
|
|
super(Cumulative, self).__init__("cumulative")
|
|
|
|
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.histogram.Cumulative
|
|
constructor must be a dict or
|
|
an instance of :class:`plotly.graph_objs.histogram.Cumulative`"""
|
|
)
|
|
|
|
# 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("currentbin", None)
|
|
_v = currentbin if currentbin is not None else _v
|
|
if _v is not None:
|
|
self["currentbin"] = _v
|
|
_v = arg.pop("direction", None)
|
|
_v = direction if direction is not None else _v
|
|
if _v is not None:
|
|
self["direction"] = _v
|
|
_v = arg.pop("enabled", None)
|
|
_v = enabled if enabled is not None else _v
|
|
if _v is not None:
|
|
self["enabled"] = _v
|
|
|
|
# Process unknown kwargs
|
|
# ----------------------
|
|
self._process_kwargs(**dict(arg, **kwargs))
|
|
|
|
# Reset skip_invalid
|
|
# ------------------
|
|
self._skip_invalid = False
|