class_docstr: Random displacement along one or both axes to reduce overplotting.
  
  Parameters
  ----------
  width : float
      Magnitude of jitter, relative to mark width, along the orientation axis.
      If not provided, the default value will be 0 when `x` or `y` are set, otherwise
      there will be a small amount of jitter applied by default.
  x : float
      Magnitude of jitter, in data units, along the x axis.
  y : float
      Magnitude of jitter, in data units, along the y axis.
  
  Examples
  --------
  .. include:: ../docstrings/objects.Jitter.rst
class_docstr_tok: ["Random","displacement","along","one","or","both","axes","to","reduce","overplotting",".","Parameters","--","--","--","--","--","width",":","float","Magnitude","of","jitter",",","relative","to","mark","width",",","along","the","orientation","axis",".","If","not","provided",",","the","default","value","will","be","0","when","`","x","`","or","`","y","`","are","set",",","otherwise","there","will","be","a","small","amount","of","jitter","applied","by","default",".","x",":","float","Magnitude","of","jitter",",","in","data","units",",","along","the","x","axis",".","y",":","float","Magnitude","of","jitter",",","in","data","units",",","along","the","y","axis",".","Examples","--","--","--","--","..","include",":",":","..","\/docstrings\/objects.Jitter.rst"]
code: def __call__(
      self,
      data: DataFrame,
      groupby: GroupBy,
      orient: str,
      scales: dict[str, Scale],
  ) -> DataFrame:
      data = data.copy()
      rng = np.random.default_rng(self.seed)
  
      def jitter(data, col, scale):
          noise = rng.uniform(-0.5, +0.5, len(data))
          offsets = noise * scale
          return data[col] + offsets
  
      if self.width is default:
          width = 0.0 if self.x or self.y else 0.2
      else:
          width = cast(float, self.width)
  
      if self.width:
          data[orient] = jitter(data, orient, width * data["width"])
      if self.x:
          data["x"] = jitter(data, "x", self.x)
      if self.y:
          data["y"] = jitter(data, "y", self.y)
  
      return data
  
imports: from __future__ import annotations
  from dataclasses import dataclass
  from typing import ClassVar, Callable, Optional, Union, cast
  import numpy
  from pandas import DataFrame
  from seaborn._core.groupby import GroupBy
  from seaborn._core.scales import Scale
  from seaborn._core.typing import Default
label_desc: Use image node_id 1 for calling the Jitter obj's underlying member method code with example usage: obj.__call__(data, groupby, orient, scales) and returns: data, unknown