2022-05-23 00:16:32 +04:00

177 lines
5.2 KiB
Python

from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType
import copy as _copy
class Transition(_BaseLayoutHierarchyType):
# class properties
# --------------------
_parent_path_str = "layout"
_path_str = "layout.transition"
_valid_props = {"duration", "easing", "ordering"}
# duration
# --------
@property
def duration(self):
"""
The duration of the transition, in milliseconds. If equal to
zero, updates are synchronous.
The 'duration' property is a number and may be specified as:
- An int or float in the interval [0, inf]
Returns
-------
int|float
"""
return self["duration"]
@duration.setter
def duration(self, val):
self["duration"] = val
# easing
# ------
@property
def easing(self):
"""
The easing function used for the transition
The 'easing' property is an enumeration that may be specified as:
- One of the following enumeration values:
['linear', 'quad', 'cubic', 'sin', 'exp', 'circle',
'elastic', 'back', 'bounce', 'linear-in', 'quad-in',
'cubic-in', 'sin-in', 'exp-in', 'circle-in', 'elastic-in',
'back-in', 'bounce-in', 'linear-out', 'quad-out',
'cubic-out', 'sin-out', 'exp-out', 'circle-out',
'elastic-out', 'back-out', 'bounce-out', 'linear-in-out',
'quad-in-out', 'cubic-in-out', 'sin-in-out', 'exp-in-out',
'circle-in-out', 'elastic-in-out', 'back-in-out',
'bounce-in-out']
Returns
-------
Any
"""
return self["easing"]
@easing.setter
def easing(self, val):
self["easing"] = val
# ordering
# --------
@property
def ordering(self):
"""
Determines whether the figure's layout or traces smoothly
transitions during updates that make both traces and layout
change.
The 'ordering' property is an enumeration that may be specified as:
- One of the following enumeration values:
['layout first', 'traces first']
Returns
-------
Any
"""
return self["ordering"]
@ordering.setter
def ordering(self, val):
self["ordering"] = val
# Self properties description
# ---------------------------
@property
def _prop_descriptions(self):
return """\
duration
The duration of the transition, in milliseconds. If
equal to zero, updates are synchronous.
easing
The easing function used for the transition
ordering
Determines whether the figure's layout or traces
smoothly transitions during updates that make both
traces and layout change.
"""
def __init__(self, arg=None, duration=None, easing=None, ordering=None, **kwargs):
"""
Construct a new Transition object
Sets transition options used during Plotly.react updates.
Parameters
----------
arg
dict of properties compatible with this constructor or
an instance of
:class:`plotly.graph_objs.layout.Transition`
duration
The duration of the transition, in milliseconds. If
equal to zero, updates are synchronous.
easing
The easing function used for the transition
ordering
Determines whether the figure's layout or traces
smoothly transitions during updates that make both
traces and layout change.
Returns
-------
Transition
"""
super(Transition, self).__init__("transition")
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.layout.Transition
constructor must be a dict or
an instance of :class:`plotly.graph_objs.layout.Transition`"""
)
# 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("duration", None)
_v = duration if duration is not None else _v
if _v is not None:
self["duration"] = _v
_v = arg.pop("easing", None)
_v = easing if easing is not None else _v
if _v is not None:
self["easing"] = _v
_v = arg.pop("ordering", None)
_v = ordering if ordering is not None else _v
if _v is not None:
self["ordering"] = _v
# Process unknown kwargs
# ----------------------
self._process_kwargs(**dict(arg, **kwargs))
# Reset skip_invalid
# ------------------
self._skip_invalid = False