docstr: Construct a new Scene object
  
  Parameters
  ----------
  arg
      dict of properties compatible with this constructor or
      an instance of :class:`plotly.graph_objs.layout.Scene`
  annotations
      A tuple of
      :class:`plotly.graph_objects.layout.scene.Annotation`
      instances or dicts with compatible properties
  annotationdefaults
      When used in a template (as
      layout.template.layout.scene.annotationdefaults), sets
      the default property values to use for elements of
      layout.scene.annotations
  aspectmode
      If "cube", this scene's axes are drawn as a cube,
      regardless of the axes' ranges. If "data", this scene's
      axes are drawn in proportion with the axes' ranges. If
      "manual", this scene's axes are drawn in proportion
      with the input of "aspectratio" (the default behavior
      if "aspectratio" is provided). If "auto", this scene's
      axes are drawn using the results of "data" except when
      one axis is more than four times the size of the two
      others, where in that case the results of "cube" are
      used.
  aspectratio
      Sets this scene's axis aspectratio.
  bgcolor
  
  camera
      :class:`plotly.graph_objects.layout.scene.Camera`
      instance or dict with compatible properties
  domain
      :class:`plotly.graph_objects.layout.scene.Domain`
      instance or dict with compatible properties
  dragmode
      Determines the mode of drag interactions for this
      scene.
  hovermode
      Determines the mode of hover interactions for this
      scene.
  uirevision
      Controls persistence of user-driven changes in camera
      attributes. Defaults to `layout.uirevision`.
  xaxis
      :class:`plotly.graph_objects.layout.scene.XAxis`
      instance or dict with compatible properties
  yaxis
      :class:`plotly.graph_objects.layout.scene.YAxis`
      instance or dict with compatible properties
  zaxis
      :class:`plotly.graph_objects.layout.scene.ZAxis`
      instance or dict with compatible properties
  
  Returns
  -------
  Scene
docstr_tok: ["Construct","a","new","Scene","object","Parameters","--","--","--","--","--","arg","dict","of","properties","compatible","with","this","constructor","or","an","instance","of",":","class",":","`","plotly.graph_objs.layout.Scene","`","annotations","A","tuple","of",":","class",":","`","plotly.graph_objects.layout.scene.Annotation","`","instances","or","dicts","with","compatible","properties","annotationdefaults","When","used","in","a","template","(","as","layout.template.layout.scene.annotationdefaults",")",",","sets","the","default","property","values","to","use","for","elements","of","layout.scene.annotations","aspectmode","If","``","cube","''",",","this","scene","'s","axes","are","drawn","as","a","cube",",","regardless","of","the","axes","'","ranges",".","If","``","data","''",",","this","scene's","axes","are","drawn","in","proportion","with","the","axes","'","ranges",".","If","``","manual","''",",","this","scene","'s","axes","are","drawn","in","proportion","with","the","input","of","``","aspectratio","''","(","the","default","behavior","if","``","aspectratio","''","is","provided",")",".","If","``","auto","''",",","this","scene's","axes","are","drawn","using","the","results","of","``","data","''","except","when","one","axis","is","more","than","four","times","the","size","of","the","two","others",",","where","in","that","case","the","results","of","``","cube","''","are","used",".","aspectratio","Sets","this","scene","'s","axis","aspectratio",".","bgcolor","camera",":","class",":","`","plotly.graph_objects.layout.scene.Camera","`","instance","or","dict","with","compatible","properties","domain",":","class",":","`","plotly.graph_objects.layout.scene.Domain","`","instance","or","dict","with","compatible","properties","dragmode","Determines","the","mode","of","drag","interactions","for","this","scene",".","hovermode","Determines","the","mode","of","hover","interactions","for","this","scene",".","uirevision","Controls","persistence","of","user-driven","changes","in","camera","attributes",".","Defaults","to","`","layout.uirevision","`",".","xaxis",":","class",":","`","plotly.graph_objects.layout.scene.XAxis","`","instance","or","dict","with","compatible","properties","yaxis",":","class",":","`","plotly.graph_objects.layout.scene.YAxis","`","instance","or","dict","with","compatible","properties","zaxis",":","class",":","`","plotly.graph_objects.layout.scene.ZAxis","`","instance","or","dict","with","compatible","properties","Returns","--","--","--","-","Scene"]
code: def __init__(
      self,
      arg=None,
      annotations=None,
      annotationdefaults=None,
      aspectmode=None,
      aspectratio=None,
      bgcolor=None,
      camera=None,
      domain=None,
      dragmode=None,
      hovermode=None,
      uirevision=None,
      xaxis=None,
      yaxis=None,
      zaxis=None,
      **kwargs,
  ):
      """
      Construct a new Scene object
  
      Parameters
      ----------
      arg
          dict of properties compatible with this constructor or
          an instance of :class:`plotly.graph_objs.layout.Scene`
      annotations
          A tuple of
          :class:`plotly.graph_objects.layout.scene.Annotation`
          instances or dicts with compatible properties
      annotationdefaults
          When used in a template (as
          layout.template.layout.scene.annotationdefaults), sets
          the default property values to use for elements of
          layout.scene.annotations
      aspectmode
          If "cube", this scene's axes are drawn as a cube,
          regardless of the axes' ranges. If "data", this scene's
          axes are drawn in proportion with the axes' ranges. If
          "manual", this scene's axes are drawn in proportion
          with the input of "aspectratio" (the default behavior
          if "aspectratio" is provided). If "auto", this scene's
          axes are drawn using the results of "data" except when
          one axis is more than four times the size of the two
          others, where in that case the results of "cube" are
          used.
      aspectratio
          Sets this scene's axis aspectratio.
      bgcolor
  
      camera
          :class:`plotly.graph_objects.layout.scene.Camera`
          instance or dict with compatible properties
      domain
          :class:`plotly.graph_objects.layout.scene.Domain`
          instance or dict with compatible properties
      dragmode
          Determines the mode of drag interactions for this
          scene.
      hovermode
          Determines the mode of hover interactions for this
          scene.
      uirevision
          Controls persistence of user-driven changes in camera
          attributes. Defaults to `layout.uirevision`.
      xaxis
          :class:`plotly.graph_objects.layout.scene.XAxis`
          instance or dict with compatible properties
      yaxis
          :class:`plotly.graph_objects.layout.scene.YAxis`
          instance or dict with compatible properties
      zaxis
          :class:`plotly.graph_objects.layout.scene.ZAxis`
          instance or dict with compatible properties
  
      Returns
      -------
      Scene
      """
      super(Scene, self).__init__("scene")
  
      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.Scene
  constructor must be a dict or
  an instance of :class:`plotly.graph_objs.layout.Scene`"""
          )
  
      # 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("annotations", None)
      _v = annotations if annotations is not None else _v
      if _v is not None:
          self["annotations"] = _v
      _v = arg.pop("annotationdefaults", None)
      _v = annotationdefaults if annotationdefaults is not None else _v
      if _v is not None:
          self["annotationdefaults"] = _v
      _v = arg.pop("aspectmode", None)
      _v = aspectmode if aspectmode is not None else _v
      if _v is not None:
          self["aspectmode"] = _v
      _v = arg.pop("aspectratio", None)
      _v = aspectratio if aspectratio is not None else _v
      if _v is not None:
          self["aspectratio"] = _v
      _v = arg.pop("bgcolor", None)
      _v = bgcolor if bgcolor is not None else _v
      if _v is not None:
          self["bgcolor"] = _v
      _v = arg.pop("camera", None)
      _v = camera if camera is not None else _v
      if _v is not None:
          self["camera"] = _v
      _v = arg.pop("domain", None)
      _v = domain if domain is not None else _v
      if _v is not None:
          self["domain"] = _v
      _v = arg.pop("dragmode", None)
      _v = dragmode if dragmode is not None else _v
      if _v is not None:
          self["dragmode"] = _v
      _v = arg.pop("hovermode", None)
      _v = hovermode if hovermode is not None else _v
      if _v is not None:
          self["hovermode"] = _v
      _v = arg.pop("uirevision", None)
      _v = uirevision if uirevision is not None else _v
      if _v is not None:
          self["uirevision"] = _v
      _v = arg.pop("xaxis", None)
      _v = xaxis if xaxis is not None else _v
      if _v is not None:
          self["xaxis"] = _v
      _v = arg.pop("yaxis", None)
      _v = yaxis if yaxis is not None else _v
      if _v is not None:
          self["yaxis"] = _v
      _v = arg.pop("zaxis", None)
      _v = zaxis if zaxis is not None else _v
      if _v is not None:
          self["zaxis"] = _v
  
      # Process unknown kwargs
      # ----------------------
      self._process_kwargs(**dict(arg, **kwargs))
  
      # Reset skip_invalid
      # ------------------
      self._skip_invalid = False
  
imports: from plotly.basedatatypes import BaseLayoutHierarchyType
  import copy
label_desc: Use image node_id 28 to create a new Scene object from inherited base classes: _BaseLayoutHierarchyType with example: obj = Scene(arg, annotations, annotationdefaults, aspectmode, aspectratio, bgcolor, camera, domain, dragmode, hovermode, uirevision, xaxis, yaxis, zaxis)