code: def prep_xyz_axis(ax, props, x_bounds, y_bounds):
      # there is no z_bounds as they can't (at least easily) be extracted from an `Axes3DSubplot` object
      xaxis, yaxis = prep_xy_axis(ax, props, x_bounds, y_bounds)
      # noinspection PyBroadException
      try:
          zaxis = dict(
              type=props["axes"][2]["scale"],
              range=list(props.get("zlim", [])),
              showgrid=props["axes"][2]
              .get("grid", {})
              .get("gridOn", False),
              side=props["axes"][2].get("position"),
              tickfont=dict(size=props["axes"][2].get("fontsize", {})),
          )
          zaxis.update(prep_ticks(ax, 2, "z", props))
      except Exception:
          zaxis = {}
      return xaxis, yaxis, zaxis
  
imports: import math
  import warnings
  import matplotlib.dates
  from matplotlib import __version__
label_desc: Use image node_id 31 for calling a global function with example usage: prep_xyz_axis(ax, props, x_bounds, y_bounds) and returns: xaxis,  yaxis,  zaxis