Hexbin Chart 3D
Signature
sp.hexbin3d(title, x=None, y=None, values=None, *, variant="basic", bins=20, min_count=0, 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_hexbin3d_chart(), sp.hexbin_3d(), sp.hexbin3d_chart(), sp.hexbin3d_family(), sp.hexbins3d().
Description
sp.hexbin3d() is the 3D twin of sp.hexbin(): every one of the 13 hexbin variants has a 3D form, selected with the same variant keyword and fed with the same points. Raw x/y points are binned into a hexagonal grid exactly like the 2D chart, and every occupied cell becomes a column, its height and tone following the bin count (or the mean of values for weighted).
Variants
| Variant | Aliases | Uses | 3D form |
|---|---|---|---|
basic | default, classic, filled | x, y | One column per hexagonal bin, height and tone following how many points fell in it. |
outlined | outline, stroke, labeled | x, y | The same bins pressed to a thin, wireframe-like footprint. |
spaced | gapped, confetti | x, y | The same bins with a visible gap between neighbours instead of touching. |
highlight | top, hotspot, peak | x, y | The five densest bins stand at full tone; every other bin fades to a dim grey. |
mincnt | threshold, sparse | x, y, min_count | Bins below a minimum count are dropped entirely instead of drawn empty. |
nested | magnitude, rings, centroids | x, y | Bin height quantised into a handful of magnitude bands instead of a smooth scale. |
log_counts | log, log_scale, logarithmic | x, y | Bin height follows the logarithm of the count, so a few crowded bins don’t flatten the rest. |
weighted | mean, aggregate, reduce_mean | x, y, values | Bin height and tone follow the mean of values inside it instead of the raw point count. |
dotted | dashed, styled, magma | x, y | The same bins as basic, from the 2D chart’s dashed-outline styling. |
marginals | joint, with_histograms, density_marginals | x, y | The same bins plus a marginal histogram column strip along each floor edge. |
voronoi | density_voronoi, tessellation, particle_density, cells | x, y | The same bins as basic, from the 2D chart’s Voronoi-tessellation styling. |
neural | mesh, turbidity, particle_mesh, neural_mesh | x, y | The same bins as basic, from the 2D chart’s mesh-styled rendering. |
bloom | contour, density_bloom, iso_contour, organic_contour | x, y | The same bins as basic, from the 2D chart’s soft contour-bloom styling. |
Data
x/y are the raw point coordinates, bins sets the grid resolution and min_count the cutoff for mincnt; values feeds weighted’s per-bin average.
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.