code: def expand_limits(**kwargs):
      """
      Expand the limits any aesthetic using data
  
      Parameters
      ----------
      kwargs : dict | dataframe
          Data to use in expanding the limits.
          The keys should be aesthetic names
          e.g. *x*, *y*, *colour*, ...
      """
  
      def as_list(key):
          with suppress(KeyError):
              if isinstance(kwargs[key], (int, float, str)):
                  kwargs[key] = [kwargs[key]]
  
      if isinstance(kwargs, dict):
          as_list("x")
          as_list("y")
          data = pd.DataFrame(kwargs)
      else:
          data = kwargs
  
      mapping = aes()
      for ae in set(kwargs) & ALL_AESTHETICS:
          mapping[ae] = ae
  
      return geom_blank(data=data, mapping=mapping, inherit_aes=False)
  
imports: import sys
  from contextlib import suppress
  import pandas
  from .._utils import array_kind
  from ..exceptions import PlotnineError
  from ..geoms import geom_blank
  from ..mapping.aes import ALL_AESTHETICS, aes
  from ..scales.scales import make_scale
label_desc: Use image node_id 1 for calling a global function with example usage: expand_limits() and returns: geom_blank