Skip to content

geom_density2df

geom_density2df(
    mapping: FeatureSpec | None = None,
    *,
    data: PlotData | None = None,
    stat: str | None = None,
    position: Position | None = None,
    show_legend: bool | None = None,
    inherit_aes: bool | None = None,
    manual_key: ManualKey | None = None,
    sampling: Sampling | None = None,
    tooltips: Tooltips | None = None,
    kernel: str | None = None,
    adjust: float | None = None,
    bw: str | float | Sequence[float] | None = None,
    n: int | Sequence[int] | None = None,
    bins: int | None = None,
    binwidth: float | None = None,
    color_by: str | None = None,
    fill_by: str | None = None,
    na_rm: bool | None = None,
    **other_args: Any,
) -> LayerSpec

Fill the bands of a 2D kernel density estimate (stat="density2df").

The density is estimated on an n x n grid over the x and y ranges, then split into bands; the band below the lowest level is left out. The stat computes ..level.., the mean density of each band's two lines (the maximum for the top band). Bands fill by ..level.. by default, as in ggplot2 (lets_plot draws them all in one blue); pass a constant fill for one color.

Parameters:

  • mapping (FeatureSpec, default: None ) –

    Aesthetic mapping from aes(): x, y (required), fill, color, alpha, size, linetype, weight.

  • data (DataFrame or dict, default: None ) –

    Layer data; inherits the plot data when None.

  • stat (str, default: None ) –

    Statistical transformation, by name; "density2df" when None.

  • position (str or FeatureSpec, default: None ) –

    Position adjustment: a name such as "identity" or a position_*() spec.

  • show_legend (bool, default: None ) –

    False hides this layer from the legend.

  • inherit_aes (bool, default: None ) –

    False ignores the plot's default mapping for this layer.

  • manual_key (str or FeatureSpec, default: None ) –

    This layer's key in a manual legend: a label, or layer_key().

  • sampling (str or FeatureSpec, default: None ) –

    lets_plot sampling; accepted and ignored, as ggrust draws every row.

  • tooltips (FeatureSpec or list of str, default: None ) –

    Tooltip content: layer_tooltips(), a list of column names, or "none" to disable tooltips (HTML output).

  • kernel (str, default: "gaussian" ) –

    Smoothing kernel: "gaussian", "rectangular", "triangular", "biweight", "epanechikov", "optcosine" or "cosine".

  • adjust (float, default: 1 ) –

    Multiplies the bandwidth; above 1 smooths more.

  • bw (str or float or list of float, default: "nrd0" ) –

    Bandwidth: a rule ("nrd0" or "nrd", per axis), one number for both axes, or [x, y].

  • n (int or list of int, default: 100 ) –

    Grid points along x and y (2 to 999); one number is used for both axes.

  • bins (int, default: 10 ) –

    Number of levels, evenly spaced over the z range.

  • binwidth (float, default: None ) –

    Distance between levels; wins over bins.

  • color_by (str, default: None ) –

    Aesthetic the color scale applies to ("color" or "fill").

  • fill_by (str, default: None ) –

    Aesthetic the fill scale applies to ("fill" or "color").

  • na_rm (bool, default: None ) –

    True removes rows with missing values silently; otherwise they are removed with a warning.

  • **other_args (Any) –

    Constant aesthetics such as fill="steelblue" or alpha=0.5.

Returns:

  • LayerSpec –

    The layer.

Examples:

>>> from ggrust import *
>>> import numpy as np
>>> rng = np.random.default_rng(1)
>>> data = {"duration": rng.normal(3, 1, 300), "wait": rng.normal(70, 12, 300)}
>>> plot = ggplot(data, aes("duration", "wait")) + geom_density2df()