class_docstr: Dodge overlaps and place objects side-by-side
  
  Parameters
  ----------
  width :
      Dodging width, when different to the width of the
      individual elements. This is useful when you want
      to align narrow geoms with wider geoms
  preserve :
      Should dodging preserve the total width of all elements
      at a position, or the width of a single element?
code: def __init__(
      self,
      width: Optional[float] = None,
      preserve: Literal["total", "single"] = "total",
  ):
      self.params = {
          "width": width,
          "preserve": preserve,
      }
  
file_path: plotnine/plotnine/positions/position_dodge.py
imports: from __future__ import annotations
  import typing
  from contextlib import suppress
  from copy import copy
  import numpy
  import pandas
  from .._utils import groupby_apply, match
  from ..exceptions import PlotnineError
  from .position import position
label_desc: Use image node_id 1 to create a new position_dodge object from inherited base classes: position with example: obj = position_dodge(width, preserve)