class_docstr: Stack plotted objects on top of each other
  
  The objects to stack are those that have
  an overlapping x range.
  
  Parameters
  ----------
  vjust :
      By what fraction to avoid overlapping the lower object,
      where `0` gives a complete overlap and `1` gives no overlap.
  reverse :
      Reverse the order of the stacked groups if true.
code: def setup_data(self, data, params):
      if not params["var"]:
          return data
  
      if params["var"] == "y":
          data["ymax"] = data["y"]
      elif params["var"] == "ymax":
          bool_idx = data["ymax"] == 0
          data.loc[bool_idx, "ymax"] = data.loc[bool_idx, "ymin"]
  
      data = remove_missing(
          data, vars=("x", "xmin", "xmax", "y"), name="position_stack"
      )
  
      return data
  
file_path: plotnine/plotnine/positions/position_stack.py
imports: from __future__ import annotations
  from warnings import warn
  import numpy
  import pandas
  from .._utils import remove_missing
  from ..exceptions import PlotnineWarning
  from .position import position
label_desc: Use image node_id 3 for calling the position_stack obj's underlying member method code with example usage: obj.setup_data(data, params) and returns: data, data