code: def _get_axis_class(
      axis_type: AxisType | None, range_input: Range, dim: Dim
  ) -> tuple[type[Axis] | None, Any]:
      if axis_type is None:
          return None, {}
      elif axis_type == "linear":
          return LinearAxis, {}
      elif axis_type == "log":
          return LogAxis, {}
      elif axis_type == "datetime":
          return DatetimeAxis, {}
      elif axis_type == "mercator":
          return MercatorAxis, dict(
              dimension="lon" if dim == 0 else "lat"
          )
      elif axis_type == "auto":
          if isinstance(range_input, FactorRange):
              return CategoricalAxis, {}
          elif isinstance(range_input, Range1d):
              try:
                  value = range_input.start
                  # Datetime accepts ints/floats as timestamps, but we don't want
                  # to assume that implies a datetime axis
                  if Datetime.is_timestamp(value):
                      return LinearAxis, {}
                  Datetime.validate(Datetime(), value)
                  return DatetimeAxis, {}
              except ValueError:
                  pass
          return LinearAxis, {}
      else:
          raise ValueError(f"Unrecognized axis_type: '{axis_type!r}'")
  
file_path: bokeh/src/bokeh/plotting/_plot.py
imports: from __future__ import annotations
  import logging
  from collections.abc import Sequence
  from typing import TYPE_CHECKING, Any, Literal
  import numpy
  from ..core.properties import Datetime
  from ..core.property.singletons import Intrinsic
  from ..models import Axis, CategoricalAxis, CategoricalScale, ContinuousTicker, DataRange1d, DatetimeAxis, FactorRange, Grid, LinearAxis, LinearScale, LogAxis, LogScale, MercatorAxis, Range, Range1d, Scale
label_desc: Use image node_id 4 for calling a global function with example usage: _get_axis_class(axis_type, range_input, dim) and returns: None,  dict, LinearAxis,  dict, LogAxis,  dict, DatetimeAxis,  dict, MercatorAxis,  dict, LinearAxis,  dict, CategoricalAxis,  dict, DatetimeAxis,  dict, LinearAxis,  dict