Line Chart 3D
Signature
sp.line3d(title, x_labels=None, values=None, *, variant="basic", series=None, series_names=None, step_shape="hv", spline_tension=0.5, dash_pattern="auto", gap_threshold=None, show_points=False, pace_target=None, 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_line3d_chart(), sp.line_3d(), sp.line3d_chart(), sp.line3d_family(), sp.lines3d().
Description
sp.line3d() is the 3D twin of sp.line(): every one of the 13 line variants has a 3D form, selected with the same variant keyword and fed with the same data. Lines are slanted ribbons between successive points, areas are sloped-top strips, steps are flat treads and risers, and several series stand on parallel depth rows, all from shared curve strategies so geometry is never hand-written per variant. Long series are decimated with the same LTTB rule as the 2D chart (max_points), so millions of points stay interactive.
Variants
| Variant | Aliases | Uses | 3D form |
|---|---|---|---|
basic | — | x_labels, values | One slanted ribbon following the values from point to point. |
multi | multiline, multiple | x_labels, series, series_names | One ribbon per series, each on its own depth row so they never overlap. |
stepped | step, hv, vh, hvh, vhv | x_labels, values, step_shape | Flat treads and vertical risers; step_shape picks hv, vh or hvh. |
spline | smooth, curved | x_labels, values, spline_tension | A Catmull-Rom curve through the points, densified into many short ribbons. |
filled | area, fill | x_labels, values | Sloped-top strips filled down to the baseline under every series. |
sparkline | spark, tiny | x_labels, values | Thin compact ribbons, one per series, ready to stack as small multiples. |
dashed | dotted, styled | x_labels, values, dash_pattern | The ribbon cut into dashes, with a different pattern per series. |
connected_scatter | markers, lines+markers | x_labels, series, series_names | Ribbons plus a small cube on every data point. |
gapped | gaps, missing | x_labels, values, gap_threshold | The ribbon breaks wherever a value is missing or jumps by more than gap_threshold. |
band | confidence_band, forecast, range_band | x_labels, series, series_names | A ribbon-shaped band between the two series (low and high) with the mid line inside it. |
momentum | slope_glow, trend_pulse | x_labels, values | The ribbon is toned by slope, rising green and falling red, with cubes on the strongest peaks. |
epoch | chapters, regime_bands | x_labels, values | The ribbon is toned by regime (rise, fall, flat) over a floor plate marking each chapter. |
pace | pacing, glidepath, runway | x_labels, values, pace_target | The actual ribbon toned ahead or behind, beside a dashed line to pace_target. |
Data
x_labels (or labels, or numeric x) name the points and values (or y) is one series; pass series (with series_names) for several. Passing z together with x and y keeps the historical call that traces one spatial polyline through (x, y, z).
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.