docstr: Construct a new Z object
  
  Parameters
  ----------
  arg
      dict of properties compatible with this constructor or
      an instance of
      :class:`plotly.graph_objs.scatter3d.projection.Z`
  opacity
      Sets the projection color.
  scale
      Sets the scale factor determining the size of the
      projection marker points.
  show
      Sets whether or not projections are shown along the z
      axis.
  
  Returns
  -------
  Z
code: def __init__(
      self, arg=None, opacity=None, scale=None, show=None, **kwargs
  ):
      """
      Construct a new Z object
  
      Parameters
      ----------
      arg
          dict of properties compatible with this constructor or
          an instance of
          :class:`plotly.graph_objs.scatter3d.projection.Z`
      opacity
          Sets the projection color.
      scale
          Sets the scale factor determining the size of the
          projection marker points.
      show
          Sets whether or not projections are shown along the z
          axis.
  
      Returns
      -------
      Z
      """
      super(Z, self).__init__("z")
  
      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.scatter3d.projection.Z
  constructor must be a dict or
  an instance of :class:`plotly.graph_objs.scatter3d.projection.Z`"""
          )
  
      # 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("opacity", None)
      _v = opacity if opacity is not None else _v
      if _v is not None:
          self["opacity"] = _v
      _v = arg.pop("scale", None)
      _v = scale if scale is not None else _v
      if _v is not None:
          self["scale"] = _v
      _v = arg.pop("show", None)
      _v = show if show is not None else _v
      if _v is not None:
          self["show"] = _v
  
      # Process unknown kwargs
      # ----------------------
      self._process_kwargs(**dict(arg, **kwargs))
  
      # Reset skip_invalid
      # ------------------
      self._skip_invalid = False
  
file_path: plotly.py/packages/python/plotly/plotly/graph_objs/scatter3d/projection/_z.py
imports: from plotly.basedatatypes import BaseTraceHierarchyType
  import copy
label_desc: Use image node_id 8 to create a new Z object from inherited base classes: _BaseTraceHierarchyType with example: obj = Z(arg, opacity, scale, show)