mirror of
https://github.com/aykhans/AzSuicideDataVisualization.git
synced 2025-04-22 10:28:02 +00:00
248 lines
8.3 KiB
Python
248 lines
8.3 KiB
Python
from plotly.basedatatypes import BaseTraceHierarchyType as _BaseTraceHierarchyType
|
|
import copy as _copy
|
|
|
|
|
|
class Line(_BaseTraceHierarchyType):
|
|
|
|
# class properties
|
|
# --------------------
|
|
_parent_path_str = "contour"
|
|
_path_str = "contour.line"
|
|
_valid_props = {"color", "dash", "smoothing", "width"}
|
|
|
|
# color
|
|
# -----
|
|
@property
|
|
def color(self):
|
|
"""
|
|
Sets the color of the contour level. Has no effect if
|
|
`contours.coloring` is set to "lines".
|
|
|
|
The 'color' property is a color and may be specified as:
|
|
- A hex string (e.g. '#ff0000')
|
|
- An rgb/rgba string (e.g. 'rgb(255,0,0)')
|
|
- An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
|
|
- An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
|
|
- A named CSS color:
|
|
aliceblue, antiquewhite, aqua, aquamarine, azure,
|
|
beige, bisque, black, blanchedalmond, blue,
|
|
blueviolet, brown, burlywood, cadetblue,
|
|
chartreuse, chocolate, coral, cornflowerblue,
|
|
cornsilk, crimson, cyan, darkblue, darkcyan,
|
|
darkgoldenrod, darkgray, darkgrey, darkgreen,
|
|
darkkhaki, darkmagenta, darkolivegreen, darkorange,
|
|
darkorchid, darkred, darksalmon, darkseagreen,
|
|
darkslateblue, darkslategray, darkslategrey,
|
|
darkturquoise, darkviolet, deeppink, deepskyblue,
|
|
dimgray, dimgrey, dodgerblue, firebrick,
|
|
floralwhite, forestgreen, fuchsia, gainsboro,
|
|
ghostwhite, gold, goldenrod, gray, grey, green,
|
|
greenyellow, honeydew, hotpink, indianred, indigo,
|
|
ivory, khaki, lavender, lavenderblush, lawngreen,
|
|
lemonchiffon, lightblue, lightcoral, lightcyan,
|
|
lightgoldenrodyellow, lightgray, lightgrey,
|
|
lightgreen, lightpink, lightsalmon, lightseagreen,
|
|
lightskyblue, lightslategray, lightslategrey,
|
|
lightsteelblue, lightyellow, lime, limegreen,
|
|
linen, magenta, maroon, mediumaquamarine,
|
|
mediumblue, mediumorchid, mediumpurple,
|
|
mediumseagreen, mediumslateblue, mediumspringgreen,
|
|
mediumturquoise, mediumvioletred, midnightblue,
|
|
mintcream, mistyrose, moccasin, navajowhite, navy,
|
|
oldlace, olive, olivedrab, orange, orangered,
|
|
orchid, palegoldenrod, palegreen, paleturquoise,
|
|
palevioletred, papayawhip, peachpuff, peru, pink,
|
|
plum, powderblue, purple, red, rosybrown,
|
|
royalblue, rebeccapurple, saddlebrown, salmon,
|
|
sandybrown, seagreen, seashell, sienna, silver,
|
|
skyblue, slateblue, slategray, slategrey, snow,
|
|
springgreen, steelblue, tan, teal, thistle, tomato,
|
|
turquoise, violet, wheat, white, whitesmoke,
|
|
yellow, yellowgreen
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
"""
|
|
return self["color"]
|
|
|
|
@color.setter
|
|
def color(self, val):
|
|
self["color"] = val
|
|
|
|
# dash
|
|
# ----
|
|
@property
|
|
def dash(self):
|
|
"""
|
|
Sets the dash style of lines. Set to a dash type string
|
|
("solid", "dot", "dash", "longdash", "dashdot", or
|
|
"longdashdot") or a dash length list in px (eg
|
|
"5px,10px,2px,2px").
|
|
|
|
The 'dash' property is an enumeration that may be specified as:
|
|
- One of the following dash styles:
|
|
['solid', 'dot', 'dash', 'longdash', 'dashdot', 'longdashdot']
|
|
- A string containing a dash length list in pixels or percentages
|
|
(e.g. '5px 10px 2px 2px', '5, 10, 2, 2', '10% 20% 40%', etc.)
|
|
|
|
Returns
|
|
-------
|
|
str
|
|
"""
|
|
return self["dash"]
|
|
|
|
@dash.setter
|
|
def dash(self, val):
|
|
self["dash"] = val
|
|
|
|
# smoothing
|
|
# ---------
|
|
@property
|
|
def smoothing(self):
|
|
"""
|
|
Sets the amount of smoothing for the contour lines, where 0
|
|
corresponds to no smoothing.
|
|
|
|
The 'smoothing' property is a number and may be specified as:
|
|
- An int or float in the interval [0, 1.3]
|
|
|
|
Returns
|
|
-------
|
|
int|float
|
|
"""
|
|
return self["smoothing"]
|
|
|
|
@smoothing.setter
|
|
def smoothing(self, val):
|
|
self["smoothing"] = val
|
|
|
|
# width
|
|
# -----
|
|
@property
|
|
def width(self):
|
|
"""
|
|
Sets the contour line width in (in px) Defaults to 0.5 when
|
|
`contours.type` is "levels". Defaults to 2 when `contour.type`
|
|
is "constraint".
|
|
|
|
The 'width' property is a number and may be specified as:
|
|
- An int or float in the interval [0, inf]
|
|
|
|
Returns
|
|
-------
|
|
int|float
|
|
"""
|
|
return self["width"]
|
|
|
|
@width.setter
|
|
def width(self, val):
|
|
self["width"] = val
|
|
|
|
# Self properties description
|
|
# ---------------------------
|
|
@property
|
|
def _prop_descriptions(self):
|
|
return """\
|
|
color
|
|
Sets the color of the contour level. Has no effect if
|
|
`contours.coloring` is set to "lines".
|
|
dash
|
|
Sets the dash style of lines. Set to a dash type string
|
|
("solid", "dot", "dash", "longdash", "dashdot", or
|
|
"longdashdot") or a dash length list in px (eg
|
|
"5px,10px,2px,2px").
|
|
smoothing
|
|
Sets the amount of smoothing for the contour lines,
|
|
where 0 corresponds to no smoothing.
|
|
width
|
|
Sets the contour line width in (in px) Defaults to 0.5
|
|
when `contours.type` is "levels". Defaults to 2 when
|
|
`contour.type` is "constraint".
|
|
"""
|
|
|
|
def __init__(
|
|
self, arg=None, color=None, dash=None, smoothing=None, width=None, **kwargs
|
|
):
|
|
"""
|
|
Construct a new Line object
|
|
|
|
Parameters
|
|
----------
|
|
arg
|
|
dict of properties compatible with this constructor or
|
|
an instance of :class:`plotly.graph_objs.contour.Line`
|
|
color
|
|
Sets the color of the contour level. Has no effect if
|
|
`contours.coloring` is set to "lines".
|
|
dash
|
|
Sets the dash style of lines. Set to a dash type string
|
|
("solid", "dot", "dash", "longdash", "dashdot", or
|
|
"longdashdot") or a dash length list in px (eg
|
|
"5px,10px,2px,2px").
|
|
smoothing
|
|
Sets the amount of smoothing for the contour lines,
|
|
where 0 corresponds to no smoothing.
|
|
width
|
|
Sets the contour line width in (in px) Defaults to 0.5
|
|
when `contours.type` is "levels". Defaults to 2 when
|
|
`contour.type` is "constraint".
|
|
|
|
Returns
|
|
-------
|
|
Line
|
|
"""
|
|
super(Line, self).__init__("line")
|
|
|
|
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.contour.Line
|
|
constructor must be a dict or
|
|
an instance of :class:`plotly.graph_objs.contour.Line`"""
|
|
)
|
|
|
|
# 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("color", None)
|
|
_v = color if color is not None else _v
|
|
if _v is not None:
|
|
self["color"] = _v
|
|
_v = arg.pop("dash", None)
|
|
_v = dash if dash is not None else _v
|
|
if _v is not None:
|
|
self["dash"] = _v
|
|
_v = arg.pop("smoothing", None)
|
|
_v = smoothing if smoothing is not None else _v
|
|
if _v is not None:
|
|
self["smoothing"] = _v
|
|
_v = arg.pop("width", None)
|
|
_v = width if width is not None else _v
|
|
if _v is not None:
|
|
self["width"] = _v
|
|
|
|
# Process unknown kwargs
|
|
# ----------------------
|
|
self._process_kwargs(**dict(arg, **kwargs))
|
|
|
|
# Reset skip_invalid
|
|
# ------------------
|
|
self._skip_invalid = False
|