class plotnine.stats.stat_boxplot(mapping: Aes | None = None, data: DataLike | None = None, **kwargs: Any)[source]

Compute boxplot statistics


stat_boxplot(mapping=None, data=None, geom='boxplot', position='dodge',
             na_rm=False, coef=1.5, width=None, **kwargs)

Only the mapping and data can be positional, the rest must be keyword arguments. **kwargs can be aesthetics (or parameters) used by the geom.

mappingaes, optional

Aesthetic mappings created with aes(). If specified and inherit.aes=True, it is combined with the default mapping for the plot. You must supply mapping if there is no plot mapping.


Default value



The bold aesthetics are required.

Options for computed aesthetics

'width'  # width of boxplot
'lower'  # lower hinge, 25% quantile
'middle' # median, 50% quantile
'upper'  # upper hinge, 75% quantile

'notchlower' #  lower edge of notch, computed as;
             # median - 1.58 * IQR / sqrt(n)

'notchupper' # upper edge of notch, computed as;
             # median + 1.58 * IQR / sqrt(n)

'ymin'  # lower whisker, computed as; smallest observation
        # greater than or equal to lower hinge - 1.5 * IQR

'ymax'  # upper whisker, computed as; largest observation
        # less than or equal to upper hinge + 1.5 * IQR

'n'     # Number of observations at a position

Calculated aesthetics are accessed using the after_stat function. e.g. after_stat('width').

datadataframe, optional

The data to be displayed in this layer. If None, the data from from the ggplot() call is used. If specified, it overrides the data from the ggplot() call.

geomstr or geom, optional (default: geom_boxplot)

The statistical transformation to use on the data for this layer. If it is a string, it must be the registered and known to Plotnine.

positionstr or position, optional (default: position_dodge)

Position adjustment. If it is a string, it must be registered and known to Plotnine.

na_rmbool, optional (default: False)

If False, removes missing values with a warning. If True silently removes missing values.

coeffloat, optional (default: 1.5)

Length of the whiskers as a multiple of the Interquartile Range.