Parallel Plot

This page documents HiPlot’s core Parallel Plot display, rendered by src/parallel/parallel.tsx.

What it shows

Each datapoint is drawn as a polyline across column axes:

  • One axis per visible parameter

  • One line per filtered datapoint

  • Color driven by the active color-by setting

This is the primary surface for slicing and filtering high-dimensional data.

Core interactions

  • Brush axis ranges: drag vertically on an axis to filter by value interval.

  • Clear brush: click/tap outside the active brush on that axis.

  • Reorder axes: drag axis headers left/right.

  • Invert axis: toggle axis direction from the label/context menu.

  • Hide axis: remove columns from the display.

All of these interactions feed into HiPlot’s shared filtered/selected state, which updates the other displays (XY, Distribution, Table).

Rendering model

The parallel plot uses:

  • Canvas layers for fast polyline drawing

  • SVG for axes, labels, and brushes

This allows large-row rendering without losing axis/interaction fidelity.

Display configuration

Display-level settings are provided through exp.display_data(hip.Displays.PARALLEL_PLOT).

Common options:

  • order: explicit column order

  • hide: columns hidden by default

  • invert: columns inverted by default

  • categoricalMaximumValues: auto-hide threshold for very high-cardinality categorical axes

For the full schema, see docs/plugins_reference.rst.

Behavior notes

  • Columns with a single effective value can disappear unless you force a range in parameter definitions.

  • High-cardinality categorical columns can be hidden automatically by categoricalMaximumValues.

  • Hidden/inverted/order state is persisted via persistent state and restored on reload.