class_docstr: An axis that displays ticks and labels for categorical ranges.
  
  The ``CategoricalAxis`` can handle factor ranges with up to two levels of
  nesting, including drawing a separator line between top-level groups of
  factors.
code: def __init__(self, *args, **kwargs) -> None:
      super().__init__(*args, **kwargs)
  
imports: from __future__ import annotations
  import logging
  from ..core.enums import Align, LabelOrientation
  from ..core.has_props import abstract
  from ..core.properties import Auto, Datetime, Dict, Either, Enum, Factor, Float, Include, Instance, InstanceDefault, Int, Null, Nullable, Override, Seq, String, TextLike, Tuple
  from ..core.property_mixins import ScalarFillProps, ScalarLineProps, ScalarTextProps
  from .formatters import BasicTickFormatter, CategoricalTickFormatter, DatetimeTickFormatter, LogTickFormatter, MercatorTickFormatter, TickFormatter
  from .labeling import AllLabels, LabelingPolicy
  from .renderers import GuideRenderer
  from .tickers import BasicTicker, CategoricalTicker, DatetimeTicker, FixedTicker, LogTicker, MercatorTicker, Ticker
label_desc: Use image node_id 1 to create a new CategoricalAxis object from inherited base classes: Axis with example: obj = CategoricalAxis()