class_docstr: An Axis class for the 3D plots.
code: def __init__(self, *args, **kwargs):
      params = _api.select_matching_signature(
          [self._old_init, self._new_init], *args, **kwargs
      )
      if "adir" in params:
          _api.warn_deprecated(
              "3.6",
              message=f"The signature of 3D Axis constructors has "
              f"changed in %(since)s; the new signature is "
              f"{inspect.signature(type(self).__init__)}",
              pending=True,
          )
          if params["adir"] != self.axis_name:
              raise ValueError(
                  f"Cannot instantiate {type(self).__name__} "
                  f"with adir={params['adir']!r}"
              )
      axes = params["axes"]
      rotate_label = params["rotate_label"]
      args = params.get("args", ())
      kwargs = params["kwargs"]
  
      name = self.axis_name
  
      self._label_position = "default"
      self._tick_position = "default"
  
      # This is a temporary member variable.
      # Do not depend on this existing in future releases!
      self._axinfo = self._AXINFO[name].copy()
      # Common parts
      self._axinfo.update(
          {
              "label": {
                  "va": "center",
                  "ha": "center",
                  "rotation_mode": "anchor",
              },
              "color": mpl.rcParams[f"axes3d.{name}axis.panecolor"],
              "tick": {
                  "inward_factor": 0.2,
                  "outward_factor": 0.1,
              },
          }
      )
  
      if mpl.rcParams["_internal.classic_mode"]:
          self._axinfo.update(
              {
                  "axisline": {
                      "linewidth": 0.75,
                      "color": (0, 0, 0, 1),
                  },
                  "grid": {
                      "color": (0.9, 0.9, 0.9, 1),
                      "linewidth": 1.0,
                      "linestyle": "-",
                  },
              }
          )
          self._axinfo["tick"].update(
              {
                  "linewidth": {
                      True: mpl.rcParams["lines.linewidth"],  # major
                      False: mpl.rcParams["lines.linewidth"],  # minor
                  }
              }
          )
      else:
          self._axinfo.update(
              {
                  "axisline": {
                      "linewidth": mpl.rcParams["axes.linewidth"],
                      "color": mpl.rcParams["axes.edgecolor"],
                  },
                  "grid": {
                      "color": mpl.rcParams["grid.color"],
                      "linewidth": mpl.rcParams["grid.linewidth"],
                      "linestyle": mpl.rcParams["grid.linestyle"],
                  },
              }
          )
          self._axinfo["tick"].update(
              {
                  "linewidth": {
                      True: (  # major
                          mpl.rcParams["xtick.major.width"]
                          if name in "xz"
                          else mpl.rcParams["ytick.major.width"]
                      ),
                      False: (  # minor
                          mpl.rcParams["xtick.minor.width"]
                          if name in "xz"
                          else mpl.rcParams["ytick.minor.width"]
                      ),
                  }
              }
          )
  
      super().__init__(axes, *args, **kwargs)
  
      # data and viewing intervals for this direction
      if "d_intervalx" in params:
          self.set_data_interval(*params["d_intervalx"])
      if "v_intervalx" in params:
          self.set_view_interval(*params["v_intervalx"])
      self.set_rotate_label(rotate_label)
      self._init3d()
  
imports: import inspect
  import numpy
  import matplotlib
  from matplotlib import _api, artist, lines, axis, patches, transforms, colors
  from .None import art3d, proj3d
label_desc: Use image node_id 3 to create a new Axis object from inherited base classes: maxis with example: obj = Axis()