Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

KDE Chart 3D

Signature

sp.kde3d(title, categories=None, values=None, *, variant="basic", x=None, y=None, bins=30, orientation3d="iso", scene="default", theme="none", zone=None, max_points=None, bg_color="#1a1a2e", width=900, height=560, x_label="", y_label="", z_label="", **kwargs) -> Chart

Aliases: sp.build_kde3d_chart(), sp.kde_3d(), sp.kde3d_chart(), sp.density3d().

Description

sp.kde3d() is the 3D twin of sp.kde(): every one of the 11 KDE variants has a 3D form, selected with the same variant keyword and fed with the same samples. Each named group becomes its own Gaussian KDE curve on its own depth row, filled, stacked or drawn as an outline depending on the variant; contour and levels instead compute a full bivariate density field from paired x/y samples, reusing the same 2D Gaussian kernel as the 2D contour chart.

Variants

VariantAliasesUses3D form
basicfilled, default, single, multicategories, valuesOne filled density curve per group, each on its own depth row.
outlineline, stroke, compare, no_fillcategories, valuesThe same curves as a thin ribbon only, no fill underneath.
steppedstep, stair, stairscategories, valuesThe density curve turned into a staircase profile before it is filled.
rugcarpet, ticks, rugplotcategories, valuesA thin filled curve plus a small tick at every raw sample’s position.
histogramhist, with_hist, kdehist, distplotcategories, values, binsThe density curve as a ribbon in front of the group’s own binned histogram columns.
normalizedpdf, norm, densitycategories, valuesThe same filled curves as basic, read as a strict probability density.
cumulativecdf, cumcategories, valuesThe running integral of the density instead of the density itself, rising monotonically to one.
contourbivariate, kde2d, joint_density, smoothcategories, x, yA bivariate density field from paired x/y samples, one grid of columns per group toned by density.
levelsbands, iso_bands, ring_contour, bandedcategories, x, yThe same bivariate field quantised into a handful of discrete height bands, like iso-contour rings.
stackstacked, layered_stackcategories, valuesEvery group’s density curve stacked on top of the one before it.
fillstack100, percent_stack, filled_stackcategories, valuesThe same stack normalised so every point’s total reads exactly 100%.

Data

categories names each sample’s group and values (or x) gives its number; groups without categories become one series. y (paired with x) feeds the bivariate contour/levels density field, and bins sets the histogram overlay’s bin count.

3D planes

The viewpoint is independent from the variant: orientation3d picks the initial camera plane and applies to every variant; the view always stays draggable.

orientation3d="iso" — Isometric three-quarter view (default).
orientation3d="horizontal" — Side-on view, almost at floor level.
orientation3d="vertical" — Top-down view from above.
orientation3d="front" — Front elevation, nearly flat.

3D scenes

scene swaps the environment the columns are drawn in and applies to every variant and every plane.

scene="default" — Each series keeps its own categorical palette color, rendered as shaded 3D bars on a flat grid.
scene="terrain" — The data is resampled onto a dense grid and rendered as hundreds of thin colormap-colored columns, forming a continuous mountain-of-bars terrain.
scene="tower" — The data is resampled onto a dense field of round skyscraper-like towers instead of boxes, for a city-skyline reading of magnitude.
scene="radial" — The data is resampled onto a dense polar grid of rings and wedges radiating from the center, like a 3D radar/sonar sweep of the value field.
scene="podium" — The data is resampled onto a dense grid and quantized into stepped terrace levels, like a rice-terrace contour map, to read value bands at a glance.

Themes

theme restyles the whole canvas (colour grade and glow) and applies to every variant, scene and plane.

theme="deluxe"
theme="prism"
theme="aurora"
theme="inferno"
theme="frost"
theme="glow"
theme="glass"
theme="neon"
theme="cosmic"

Auto-scaling zone

The 3D zone (floor, walls, axes and camera) scales to the elements: its length, width and height follow the extents of the drawn blocks, a minimum floor depth keeps single rows readable, wide scenes are drawn flatter and the camera frames the whole box. The axis ticks read the real data range. Pass zone=[x, y, z] to force the proportions of the box instead; the longest side is normalised to 1.

Parameters

Returns

Chart object with an .html property and a .show() method.