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 compute_layer(cls, data, params, layout):
      trans_x = None  # pyright: ignore
      trans_y = None  # pyright: ignore
  
      if params["width"]:
  
          def trans_x(x: FloatArrayLike) -> FloatArray:
              return jitter(
                  x,
                  amount=params["width"],
                  random_state=params["random_state"],
              )
  
      if params["height"]:
  
          def trans_y(y):
              return jitter(
                  y,
                  amount=params["height"],
                  random_state=params["random_state"],
              )
  
      return cls.transform_position(data, trans_x, trans_y)
  
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 3 for calling the position_jitter obj's underlying member method code with example usage: obj.compute_layer(cls, data, params, layout) and returns: cls, jitter, jitter