class_docstr: Transformed cartesian coordinate system
  
  Parameters
  ----------
  x : str | trans
      Name of transform or `trans` class to transform the x axis
  y : str | trans
      Name of transform or `trans` class to transform the y axis
  xlim : tuple[float, float]
      Limits for x axis. If None, then they are automatically computed.
  ylim : tuple[float, float]
      Limits for y axis. If None, then they are automatically computed.
  expand : bool
      If `True`, expand the coordinate axes by some factor. If `False`,
      use the limits from the data.
code: def transform(
      self,
      data: pd.DataFrame,
      panel_params: panel_view,
      munch: bool = False,
  ) -> pd.DataFrame:
      from mizani.bounds import squish_infinite
  
      if not self.is_linear and munch:
          data = self.munch(data, panel_params)
  
      def trans_x(col: FloatSeries) -> FloatSeries:
          result = transform_value(
              self.trans_x, col, panel_params.x.range
          )
          if any(result.isna()):
              warn(
                  "Coordinate transform of x aesthetic "
                  "created one or more NaN values.",
                  PlotnineWarning,
              )
          return result
  
      def trans_y(col: FloatSeries) -> FloatSeries:
          result = transform_value(
              self.trans_y, col, panel_params.y.range
          )
          if any(result.isna()):
              warn(
                  "Coordinate transform of y aesthetic "
                  "created one or more NaN values.",
                  PlotnineWarning,
              )
          return result
  
      data = transform_position(data, trans_x, trans_y)
      return transform_position(data, squish_infinite, squish_infinite)
  
file_path: plotnine/plotnine/coords/coord_trans.py
imports: from __future__ import annotations
  import typing
  from types import SimpleNamespace
  from warnings import warn
  from ..exceptions import PlotnineWarning
  from ..iapi import panel_ranges, panel_view
  from ..positions.position import transform_position
  from .coord import coord, dist_euclidean
label_desc: Use image node_id 2 for calling the coord_trans obj's underlying member method code with example usage: obj.transform(data, panel_params, munch) and returns: transform_position, result, result