docstr: Construct a new X object
  
  Parameters
  ----------
  arg
      dict of properties compatible with this constructor or
      an instance of
      :class:`plotly.graph_objs.surface.contours.X`
  color
      Sets the color of the contour lines.
  end
      Sets the end contour level value. Must be more than
      `contours.start`
  highlight
      Determines whether or not contour lines about the x
      dimension are highlighted on hover.
  highlightcolor
      Sets the color of the highlighted contour lines.
  highlightwidth
      Sets the width of the highlighted contour lines.
  project
      :class:`plotly.graph_objects.surface.contours.x.Project
      ` instance or dict with compatible properties
  show
      Determines whether or not contour lines about the x
      dimension are drawn.
  size
      Sets the step between each contour level. Must be
      positive.
  start
      Sets the starting contour level value. Must be less
      than `contours.end`
  usecolormap
      An alternate to "color". Determines whether or not the
      contour lines are colored using the trace "colorscale".
  width
      Sets the width of the contour lines.
  
  Returns
  -------
  X
docstr_tok: ["Construct","a","new","X","object","Parameters","--","--","--","--","--","arg","dict","of","properties","compatible","with","this","constructor","or","an","instance","of",":","class",":","`","plotly.graph_objs.surface.contours.X","`","color","Sets","the","color","of","the","contour","lines",".","end","Sets","the","end","contour","level","value",".","Must","be","more","than","`","contours.start","`","highlight","Determines","whether","or","not","contour","lines","about","the","x","dimension","are","highlighted","on","hover",".","highlightcolor","Sets","the","color","of","the","highlighted","contour","lines",".","highlightwidth","Sets","the","width","of","the","highlighted","contour","lines",".","project",":","class",":","`","plotly.graph_objects.surface.contours.x.Project","`","instance","or","dict","with","compatible","properties","show","Determines","whether","or","not","contour","lines","about","the","x","dimension","are","drawn",".","size","Sets","the","step","between","each","contour","level",".","Must","be","positive",".","start","Sets","the","starting","contour","level","value",".","Must","be","less","than","`","contours.end","`","usecolormap","An","alternate","to","``","color","''",".","Determines","whether","or","not","the","contour","lines","are","colored","using","the","trace","``","colorscale","''",".","width","Sets","the","width","of","the","contour","lines",".","Returns","--","--","--","-","X"]
code: def __init__(
      self,
      arg=None,
      color=None,
      end=None,
      highlight=None,
      highlightcolor=None,
      highlightwidth=None,
      project=None,
      show=None,
      size=None,
      start=None,
      usecolormap=None,
      width=None,
      **kwargs,
  ):
      """
      Construct a new X object
  
      Parameters
      ----------
      arg
          dict of properties compatible with this constructor or
          an instance of
          :class:`plotly.graph_objs.surface.contours.X`
      color
          Sets the color of the contour lines.
      end
          Sets the end contour level value. Must be more than
          `contours.start`
      highlight
          Determines whether or not contour lines about the x
          dimension are highlighted on hover.
      highlightcolor
          Sets the color of the highlighted contour lines.
      highlightwidth
          Sets the width of the highlighted contour lines.
      project
          :class:`plotly.graph_objects.surface.contours.x.Project
          ` instance or dict with compatible properties
      show
          Determines whether or not contour lines about the x
          dimension are drawn.
      size
          Sets the step between each contour level. Must be
          positive.
      start
          Sets the starting contour level value. Must be less
          than `contours.end`
      usecolormap
          An alternate to "color". Determines whether or not the
          contour lines are colored using the trace "colorscale".
      width
          Sets the width of the contour lines.
  
      Returns
      -------
      X
      """
      super(X, self).__init__("x")
  
      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.surface.contours.X 
  constructor must be a dict or 
  an instance of :class:`plotly.graph_objs.surface.contours.X`"""
          )
  
      # 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("end", None)
      _v = end if end is not None else _v
      if _v is not None:
          self["end"] = _v
      _v = arg.pop("highlight", None)
      _v = highlight if highlight is not None else _v
      if _v is not None:
          self["highlight"] = _v
      _v = arg.pop("highlightcolor", None)
      _v = highlightcolor if highlightcolor is not None else _v
      if _v is not None:
          self["highlightcolor"] = _v
      _v = arg.pop("highlightwidth", None)
      _v = highlightwidth if highlightwidth is not None else _v
      if _v is not None:
          self["highlightwidth"] = _v
      _v = arg.pop("project", None)
      _v = project if project is not None else _v
      if _v is not None:
          self["project"] = _v
      _v = arg.pop("show", None)
      _v = show if show is not None else _v
      if _v is not None:
          self["show"] = _v
      _v = arg.pop("size", None)
      _v = size if size is not None else _v
      if _v is not None:
          self["size"] = _v
      _v = arg.pop("start", None)
      _v = start if start is not None else _v
      if _v is not None:
          self["start"] = _v
      _v = arg.pop("usecolormap", None)
      _v = usecolormap if usecolormap is not None else _v
      if _v is not None:
          self["usecolormap"] = _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
  
imports: from plotly.basedatatypes import BaseTraceHierarchyType
  import copy
label_desc: Use image node_id 24 to create a new X object from inherited base classes: _BaseTraceHierarchyType with example: obj = X(arg, color, end, highlight, highlightcolor, highlightwidth, project, show, size, start, usecolormap, width)