code: def add(
      self,
      series_name: str,
      data: Sequence,
      shading: Optional[str] = None,
      itemstyle_opts: types.ItemStyle = None,
      label_opts: types.Label = opts.LabelOpts(is_show=False),
      grid_3d_index: types.Numeric = 0,
      xaxis3d_opts: types.Axis3D = opts.Axis3DOpts(
          type_="value", name="X"
      ),
      yaxis3d_opts: types.Axis3D = opts.Axis3DOpts(
          type_="value", name="Y"
      ),
      zaxis3d_opts: types.Axis3D = opts.Axis3DOpts(
          type_="value", name="Z"
      ),
      grid3d_opts: types.Grid3D = opts.Grid3DOpts(),
      encode: types.Union[types.JSFunc, dict, None] = None,
      is_parametric: types.Optional[bool] = None,
      is_show_wire_frame: types.Optional[bool] = None,
      wire_frame_line_style_opts: types.Optional[
          opts.LineStyleOpts
      ] = None,
      equation: types.Optional[dict] = None,
      parametric_equation: types.Optional[dict] = None,
  ):
      self.options.get("legend")[0].get("data").append(series_name)
      self.options.update(
          xAxis3D=xaxis3d_opts,
          yAxis3D=yaxis3d_opts,
          zAxis3D=zaxis3d_opts,
          grid3D=grid3d_opts,
      )
  
      if self._3d_chart_type == "surface":
          self.options.get("series").append(
              {
                  "type": self._3d_chart_type,
                  "name": series_name,
                  "data": data,
                  "label": label_opts,
                  "shading": shading,
                  "grid3DIndex": grid_3d_index,
                  "itemStyle": itemstyle_opts,
                  "parametric": is_parametric,
                  "wireframe": {
                      "show": is_show_wire_frame,
                      "lineStyle": wire_frame_line_style_opts,
                  },
                  "equation": equation,
                  "parametricEquation": parametric_equation,
              }
          )
      else:
          self.options.get("series").append(
              {
                  "type": self._3d_chart_type,
                  "name": series_name,
                  "data": data,
                  "label": label_opts,
                  "shading": shading,
                  "grid3DIndex": grid_3d_index,
                  "itemStyle": itemstyle_opts,
                  "encode": encode,
              }
          )
      return self
  
imports: from ..None import options
  from ..None import types
  from ..charts.base import Base
  from ..globals import RenderType, ThemeType, ToolTipFormatterType
  from ..types import Optional, Sequence
label_desc: Use image node_id 1 for calling the ThreeAxisChart obj's underlying member method code with example usage: obj.add(series_name, data, shading, itemstyle_opts, label_opts, grid_3d_index, xaxis3d_opts, yaxis3d_opts, zaxis3d_opts, grid3d_opts, encode, is_parametric, is_show_wire_frame, wire_frame_line_style_opts, equation, parametric_equation) and returns: self