from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType
import copy as _copy
class Threshold(_BaseTraceHierarchyType):
# class properties
# --------------------
_parent_path_str = "indicator.gauge"
_path_str = "indicator.gauge.threshold"
_valid_props = {"line", "thickness", "value"}
# line
# ----
@property
def line(self):
"""
The 'line' property is an instance of Line
that may be specified as:
- An instance of :class:`plotly.graph_objs.indicator.gauge.threshold.Line`
- A dict of string/value properties that will be passed
to the Line constructor
Supported dict properties:
color
Sets the color of the threshold line.
width
Sets the width (in px) of the threshold line.
Returns
-------
plotly.graph_objs.indicator.gauge.threshold.Line
"""
return self["line"]
@line.setter
def line(self, val):
self["line"] = val
# thickness
# ---------
@property
def thickness(self):
"""
Sets the thickness of the threshold line as a fraction of the
thickness of the gauge.
The 'thickness' property is a number and may be specified as:
- An int or float in the interval [0, 1]
Returns
-------
int|float
"""
return self["thickness"]
@thickness.setter
def thickness(self, val):
self["thickness"] = val
# value
# -----
@property
def value(self):
"""
Sets a treshold value drawn as a line.
The 'value' property is a number and may be specified as:
- An int or float
Returns
-------
int|float
"""
return self["value"]
@value.setter
def value(self, val):
self["value"] = val
# Self properties description
# ---------------------------
@property
def _prop_descriptions(self):
return """\
line
:class:`plotly.graph_objects.indicator.gauge.threshold.
Line` instance or dict with compatible properties
thickness
Sets the thickness of the threshold line as a fraction
of the thickness of the gauge.
value
Sets a treshold value drawn as a line.
"""
def __init__(self, arg=None, line=None, thickness=None, value=None, **kwargs):
"""
Construct a new Threshold object
Parameters
----------
arg
dict of properties compatible with this constructor or
an instance of
:class:`plotly.graph_objs.indicator.gauge.Threshold`
line
:class:`plotly.graph_objects.indicator.gauge.threshold.
Line` instance or dict with compatible properties
thickness
Sets the thickness of the threshold line as a fraction
of the thickness of the gauge.
value
Sets a treshold value drawn as a line.
Returns
-------
Threshold
"""
super(Threshold, self).__init__("threshold")
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.indicator.gauge.Threshold
constructor must be a dict or
an instance of :class:`plotly.graph_objs.indicator.gauge.Threshold`"""
)
# 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("line", None)
_v = line if line is not None else _v
if _v is not None:
self["line"] = _v
_v = arg.pop("thickness", None)
_v = thickness if thickness is not None else _v
if _v is not None:
self["thickness"] = _v
_v = arg.pop("value", None)
_v = value if value is not None else _v
if _v is not None:
self["value"] = _v
# Process unknown kwargs
# ----------------------
self._process_kwargs(**dict(arg, **kwargs))
# Reset skip_invalid
# ------------------
self._skip_invalid = False