class_docstr: Jitter points to avoid overplotting
  
  Parameters
  ----------
  width :
      Proportion to jitter in horizontal direction.
      If `None`, `0.4` of the resolution of the data.
  height :
      Proportion to jitter in vertical direction.
      If `None`, `0.4` of the resolution of the data.
  random_state :
      Seed or Random number generator to use. If `None`, then
      numpy global generator :class:`numpy.random` is used.
class_docstr_tok: ["Jitter","points","to","avoid","overplotting","Parameters","--","--","--","--","--","width",":","Proportion","to","jitter","in","horizontal","direction",".","If","`","None","`",",","`","0.4","`","of","the","resolution","of","the","data",".","height",":","Proportion","to","jitter","in","vertical","direction",".","If","`","None","`",",","`","0.4","`","of","the","resolution","of","the","data",".","random_state",":","Seed","or","Random","number","generator","to","use",".","If","`","None","`",",","then","numpy","global","generator",":","class",":","`","numpy.random","`","is","used","."]
code: def __init__(
      self,
      width: Optional[float] = None,
      height: Optional[float] = None,
      random_state: Optional[int | np.random.RandomState] = None,
  ):
      self.params = {
          "width": width,
          "height": height,
          "random_state": random_state,
      }
  
file_path: plotnine/plotnine/positions/position_jitter.py
imports: from __future__ import annotations
  import typing
  from copy import deepcopy
  import numpy
  from .._utils import jitter, resolution
  from .position import position
label_desc: Use image node_id 1 to create a new position_jitter object from inherited base classes: position with example: obj = position_jitter(width, height, random_state)