Parallel Coords

Category: Charts

Live preview
Six models compared on four measures
Accuracy
Latency (ms)reversed
Cost per 1kreversed
Size (GB)
0.75
0.80
0.85
0.90
0.95
0
100
200
300
400
500
0.0
0.5
1.0
1.5
2.0
2.5
3.0
0
5
10
15
20
25
30
35
Line colour: Accuracy0.790.93
RowAccuracyLatency (ms)Cost per 1kSize (GB)
Model A0.821200.42
Model B0.882100.97
Model C0.913802.113
Model D0.79900.21.5
Model E0.93450334
Model F0.861600.74

Rows of numbers compared across 2 to 8 measures at once: each measure is a vertical axis with its own scale, and each row is one line that crosses every axis at its value, so clusters, trade-offs and outliers across many measures show as bundles of lines. Optionally the lines are coloured by one measure (a light-to-dark ramp from the theme accent, with a legend giving the range). Axis scales come from d3 scaleLinear nice() and ticks() and the lines from d3 line(), computed on the server, so there is no script. The picture is static: the interactive brushing of a Plotly parallel-coordinates chart (dragging on an axis to filter rows) is not available. A hidden table gives every value of every row.

Surfaces
webgoogle-apps-script-webmcp-appsandroid
Degraded on
SurfaceNote
pdfPrints the finished picture; no motion
Fields
FieldTypeRequired
titlestring (optional, max 80).optional
dimensionsarray (required, 2 to 8) of {label (string, max 24, default "Dimension n"), values (array of numbers), min (number, optional), max (number, optional), reverse (boolean, optional)}. Row i takes values[i] of every dimension, so every dimension lists the rows in the same order. Without min and max the axis runs over the d3 nice() of the values; with both (min below max) the axis is exactly that range and a value outside it is drawn on the edge, with a note (the table keeps the real number). reverse true puts the highest value at the bottom and says so under the label. A row with a missing or non-numeric value (finite, up to 1e12 in size) in any dimension is left out with a note; rows beyond the first 200 and dimensions beyond the first 8 are noted and not drawn. Entries that are not a dimension are left out with a note.optional
row_labelsarray of strings (max 30). Names the rows in the hidden table; default "Row n".optional
color_bystring or integer. The label of a dimension, or its number counting from 0, to colour the lines by. A name that matches no dimension is noted and the lines stay one colour.optional
versioninteger (optional, default 1). The parallel_coords contract the payload was written for. Only version 1 exists; a higher whole number is drawn as version 1 with a note.optional
Example payload
{
  "type": "parallel_coords"
}
ARD catalog entry
{
  "identifier": "urn:air:a2uicatalog.ai:atom:parallel_coords",
  "displayName": "Parallel Coords",
  "type": "application/vnd.a2ui.atom+json",
  "url": "https://a2uicatalog.ai/atoms/parallel_coords/",
  "capabilities": [
    "web",
    "google-apps-script-web",
    "mcp-apps",
    "android"
  ],
  "description": "Rows of numbers compared across 2 to 8 measures at once: each measure is a vertical axis with its own scale, and each row is one line that crosses every axis at its value, so clusters, trade-offs and outliers across many measures show as bundles of lines. Optionally the lines are coloured by one measure (a light-to-dark ramp from the theme accent, with a legend giving the range). Axis scales come from d3 scaleLinear nice() and ticks() and the lines from d3 line(), computed on the server, so there is no script. The picture is static: the interactive brushing of a Plotly parallel-coordinates chart (dragging on an axis to filter rows) is not available. A hidden table gives every value of every row.",
  "representativeQueries": [
    "show a parallel_coords: compare many numeric measures per row",
    "rows of numbers compared across 2 to 8 measures at once: each measure is a vertical axis with its ow",
    "render a parallel coords"
  ]
}
← Full ARD catalog
Deploy your own Google Apps Script renderer

The renderer is an open-source Google Apps Script web app. Deploy your own instance in 4 commands — you own the URL, no dependency on the demo endpoint.

git clone https://github.com/a2uicatalog/a2ui
cd a2ui/apps-script-surface/gas-wired-renderer
clasp push && clasp deploy
Full deploy guide →