b2KIT

Parallel Coordinates Chart

Plot multi-dimensional data on parallel axes to reveal patterns and clusters.

Tested tool guide Tested browser tools Checked August 16, 2026

What Parallel Coordinates Chart does, with a checked example

This tool draws one vertical axis per numeric column and represents each data row as a single polyline that crosses every axis in order, turning a many-variable dataset into a readable bundle of lines instead of a scatterplot matrix. Each axis scales independently to its own column's min and max, which is the detail people miss: a line sitting high on one axis and low on the next is not a raw numeric gap, it is two different scales placed side by side. Because only adjacent axes show a direct relationship, the column order you choose changes which correlations are visible.

Worked example

A concrete input and expected output from the current implementation.

Input

name,speed,weight,price
A,120,3.2,500
B,90,5.1,300
C,150,2.8,700

Expected output

Three axes are drawn (speed, weight, price); the name column becomes the row label rather than an axis. Each axis is normalized to its own column range: speed 90-150, weight 2.8-5.1, price 300-700. Row A plots at 50% on speed, 17% on weight, 50% on price. Row B plots at 0% on speed, 100% on weight, 0% on price. Row C plots at 100% on speed, 0% on weight, 100% on price.

Each axis is normalized independently to that column's own minimum and maximum, so row B's weight value (5.1, the dataset maximum) plots at the top of the weight axis even though B is the lowest row on both other axes.

How the result is produced

1

Per-axis normalization

Each column becomes its own axis, scaled from that column's minimum to its maximum, independent of every other axis. A non-numeric first column is typically treated as a row label rather than plotted. Because scaling is per-column, comparing how steep a line looks between two different axes does not tell you which variable actually changed by more in absolute terms.

2

Row as polyline

Every row in the source data becomes one connected line touching its scaled value on each axis in turn, left to right. Rows with similar values across axes draw nearly overlapping lines, forming a visible bundle; a row that diverges from that bundle on one axis shows up as a crossing or outlying segment right at that axis, which is how clustering and outliers surface visually.

Good uses

  • Comparing multiple candidate items, such as laptops, job offers, or vendor quotes, across four or more numeric attributes at once instead of scanning a table column by column.
  • Spotting which variables move together or in opposition in a dataset, since parallel or crossing lines between two adjacent axes reveal correlation or inverse correlation.
  • Finding rows that behave like outliers across a whole dataset, because a line that breaks away from the main bundle at one or more axes stands out visually from the rest.

Limits and checks

  • With more than roughly a few dozen rows, overlapping lines turn into a solid mass of ink and the chart stops showing individual row patterns, not just outliers.
  • Only axes that sit next to each other show a direct visual relationship; two variables plotted several axes apart can be strongly correlated with no visible sign of it in the chart.
  • Because each axis is rescaled to its own min and max, a nearly flat line segment does not mean the underlying values are close in absolute terms, only that they are close relative to that column's own range.

Common questions

What format does my data need to be in?

Paste or type data with a header row, one column per variable. A leading non-numeric column is typically used as the row label rather than plotted as an axis, and the remaining columns should be numeric so each can be scaled into an axis.

How many variables can I plot before it becomes unreadable?

There is no fixed cap, but readability drops as axes are added because each one gets less horizontal space. Datasets with roughly four to ten numeric columns tend to stay legible; beyond that, consider dropping less relevant columns before plotting.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools