code: def stat_summary(
      mapping=None,
      *,
      data=None,
      geom=None,
      position=None,
      show_legend=None,
      sampling=None,
      tooltips=None,
      orientation=None,
      fun=None,
      fun_min=None,
      fun_max=None,
      quantiles=None,
      color_by=None,
      fill_by=None,
      **other_args,
  ):
      """
      Display the aggregated values of a single continuous variable grouped along the x axis.
  
      Parameters
      ----------
      mapping : `FeatureSpec`
          Set of aesthetic mappings created by `aes()` function.
          Aesthetic mappings describe the way that variables in the data are
          mapped to plot "aesthetics".
      data : dict or Pandas or Polars `DataFrame`
          The data to be displayed in this layer. If None, the default, the data
          is inherited from the plot data as specified in the call to ggplot.
      geom : str, default='pointrange'
          The geometry to display the summary stat for this layer, as a string.
      position : str or `FeatureSpec`, default='identity'
          Position adjustment, either as a string ('identity', 'stack', 'dodge', ...),
          or the result of a call to a position adjustment function.
      show_legend : bool, default=True
          False - do not show legend for this layer.
      sampling : `FeatureSpec`
          Result of the call to the `sampling_xxx()` function.
          To prevent any sampling for this layer pass value "none" (string "none").
      tooltips : `layer_tooltips`
          Result of the call to the `layer_tooltips()` function.
          Specify appearance, style and content.
      orientation : str, default='x'
          Specify the axis that the layer's stat and geom should run along.
          Possible values: 'x', 'y'.
      fun : {'count', 'sum', 'mean', 'median', 'min', 'max', 'lq', 'mq', 'uq'}, default='mean'
          Name of function computing stat variable '..y..'.
          Names 'lq', 'mq', 'uq' corresponds to lower, middle and upper quantiles, default=[0.25, 0.5, 0.75].
      fun_min : {'count', 'sum', 'mean', 'median', 'min', 'max', 'lq', 'mq', 'uq'}, default='min'
          Name of function computing stat variable '..ymin..'.
          Names 'lq', 'mq', 'uq' corresponds to lower, middle and upper quantiles, default=[0.25, 0.5, 0.75].
      fun_max : {'count', 'sum', 'mean', 'median', 'min', 'max', 'lq', 'mq', 'uq'}, default='max'
          Name of function computing stat variable '..ymax..'.
          Names 'lq', 'mq', 'uq' corresponds to lower, middle and upper quantiles, default=[0.25, 0.5, 0.75].
      quantiles : list of float, default=[0.25, 0.5, 0.75]
          A list of probabilities defining the quantile functions 'lq', 'mq' and 'uq'.
          Must contain exactly 3 values between 0 and 1.
      color_by : {'fill', 'color', 'paint_a', 'paint_b', 'paint_c'}, default='color'
          Define the color aesthetic for the geometry.
      fill_by : {'fill', 'color', 'paint_a', 'paint_b', 'paint_c'}, default='fill'
          Define the fill aesthetic for the geometry.
      other_args
          Other arguments passed on to the layer.
          These are often aesthetics settings used to set an aesthetic to a fixed value,
          like color='red', fill='blue', size=3 or shape=21.
          They may also be parameters to the paired geom/stat.
  
      Returns
      -------
      `LayerSpec`
          Geom object specification.
  
      Notes
      -----
      Computed variables:
  
      - ..y.. : result of calculating of `fun`.
      - ..ymin.. : result of calculating of `fun_min`.
      - ..ymax.. : result of calculating of `fun_max`.
  
      Examples
      --------
      .. jupyter-execute::
          :linenos:
          :emphasize-lines: 9
  
          import numpy as np
          from lets_plot import *
          LetsPlot.setup_html()
          n = 100
          np.random.seed(42)
          x = np.random.choice(['a', 'b', 'c'], size=n)
          y = np.random.normal(size=n)
          ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \\
              stat_summary()
  
      |
  
      .. jupyter-execute::
          :linenos:
          :emphasize-lines: 9
  
          import numpy as np
          from lets_plot import *
          LetsPlot.setup_html()
          n = 100
          np.random.seed(42)
          x = np.random.choice(['a', 'b', 'c'], size=n)
          y = np.random.normal(size=n)
          ggplot({'x': x, 'y': y}, aes(x='x', y='y', fill='x')) + \\
              stat_summary(geom='crossbar', fatten=5)
  
      |
  
      .. jupyter-execute::
          :linenos:
          :emphasize-lines: 9-11
  
          import numpy as np
          from lets_plot import *
          LetsPlot.setup_html()
          n = 100
          np.random.seed(42)
          x = np.random.choice(['a', 'b', 'c'], size=n)
          y = np.random.normal(size=n)
          ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \\
              stat_summary(position=position_nudge(x=-.1), color="red") + \\
              stat_summary(fun='mq', fun_min='lq', fun_max='uq', quantiles=[.1, .5, .9], \\
                           position=position_nudge(x=.1), color="blue")
  
      """
      summary_geom = geom if geom is not None else "pointrange"
      return _geom(
          summary_geom,
          mapping=mapping,
          data=data,
          stat="summary",
          position=position,
          show_legend=show_legend,
          sampling=sampling,
          tooltips=tooltips,
          orientation=orientation,
          fun=fun,
          fun_min=fun_min,
          fun_max=fun_max,
          quantiles=quantiles,
          color_by=color_by,
          fill_by=fill_by,
          **other_args,
      )
  
imports: from .geom import _geom
label_desc: Use image node_id 1 for calling a global function with example usage: stat_summary(mapping) and returns: _geom