code: def _limits(aesthetic, *args):
      if len(args) == 0:
          return DummySpec()
      elif any(isinstance(v, (str, bytes)) for v in args):
          return _discrete_scale_limits(
              aesthetic=aesthetic, limits=list(args)
          )
      else:
          return _continuous_scale_limits(
              aesthetic=aesthetic, limits=list(args)
          )
  
file_path: lets-plot/python-package/lets_plot/plot/scale_convenience.py
imports: from .core import DummySpec
  from .scale_position import scale_x_continuous, scale_y_continuous, scale_x_discrete, scale_y_discrete
label_desc: Use image node_id 4 for calling a global function with example usage: _limits(aesthetic) and returns: DummySpec, _discrete_scale_limits, _continuous_scale_limits