from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType import copy as _copy class Line(_BaseLayoutHierarchyType): # class properties # -------------------- _parent_path_str = "layout.mapbox.layer" _path_str = "layout.mapbox.layer.line" _valid_props = {"dash", "dashsrc", "width"} # dash # ---- @property def dash(self): """ Sets the length of dashes and gaps (mapbox.layer.paint.line- dasharray). Has an effect only when `type` is set to "line". The 'dash' property is an array that may be specified as a tuple, list, numpy array, or pandas Series Returns ------- numpy.ndarray """ return self["dash"] @dash.setter def dash(self, val): self["dash"] = val # dashsrc # ------- @property def dashsrc(self): """ Sets the source reference on Chart Studio Cloud for `dash`. The 'dashsrc' property must be specified as a string or as a plotly.grid_objs.Column object Returns ------- str """ return self["dashsrc"] @dashsrc.setter def dashsrc(self, val): self["dashsrc"] = val # width # ----- @property def width(self): """ Sets the line width (mapbox.layer.paint.line-width). Has an effect only when `type` is set to "line". The 'width' property is a number and may be specified as: - An int or float Returns ------- int|float """ return self["width"] @width.setter def width(self, val): self["width"] = val # Self properties description # --------------------------- @property def _prop_descriptions(self): return """\ dash Sets the length of dashes and gaps (mapbox.layer.paint.line-dasharray). Has an effect only when `type` is set to "line". dashsrc Sets the source reference on Chart Studio Cloud for `dash`. width Sets the line width (mapbox.layer.paint.line-width). Has an effect only when `type` is set to "line". """ def __init__(self, arg=None, dash=None, dashsrc=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.layout.mapbox.layer.Line` dash Sets the length of dashes and gaps (mapbox.layer.paint.line-dasharray). Has an effect only when `type` is set to "line". dashsrc Sets the source reference on Chart Studio Cloud for `dash`. width Sets the line width (mapbox.layer.paint.line-width). Has an effect only when `type` is set to "line". 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.layout.mapbox.layer.Line constructor must be a dict or an instance of :class:`plotly.graph_objs.layout.mapbox.layer.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("dash", None) _v = dash if dash is not None else _v if _v is not None: self["dash"] = _v _v = arg.pop("dashsrc", None) _v = dashsrc if dashsrc is not None else _v if _v is not None: self["dashsrc"] = _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