docstr: Construct a new Line object
  
  Parameters
  ----------
  arg
      dict of properties compatible with this constructor or
      an instance of
      :class:`plotly.graph_objs.layout.newselection.Line`
  color
      Sets the line color. By default uses either dark grey
      or white to increase contrast with background color.
  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").
  width
      Sets the line width (in px).
  
  Returns
  -------
  Line
code: def __init__(
      self, arg=None, color=None, dash=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.newselection.Line`
      color
          Sets the line color. By default uses either dark grey
          or white to increase contrast with background color.
      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").
      width
          Sets the line width (in px).
  
      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.newselection.Line
  constructor must be a dict or
  an instance of :class:`plotly.graph_objs.layout.newselection.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("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
  
file_path: catboost/contrib/python/plotly/py3/plotly/graph_objs/layout/newselection/_line.py
imports: from plotly.basedatatypes import BaseLayoutHierarchyType
  import copy
label_desc: Use image node_id 8 to create a new Line object from inherited base classes: _BaseLayoutHierarchyType with example: obj = Line(arg, color, dash, width)