Skip to content
commit-766c8d6756a1

Interactive parallel coordinates

Multivariate profiles across the same ordered numeric and categorical dimensions.

Purpose
Compare multivariate profiles across the same ordered dimensions.
Use when
You need to spot broad profile differences across a modest number of observations.
Avoid when
Exact values, many crossing lines, or unfamiliar dimensions dominate.
Equivalent data
An adjacent table preserves series, observation names, and every dimension value.
Exact observations and values
SeriesObservationDateAQIPM2.5PM10CONO2SO2LevelSemantic class
BeijingDay 11559560.46186Moderate
BeijingDay 222511210.65349Good
BeijingDay 33567630.3145Moderate
BeijingDay 44337290.33166Good
BeijingDay 554224440.764016Good
BeijingDay 668258901.776833Moderate
BeijingDay 777449771.464827Moderate
BeijingDay 887855801.295929Moderate
BeijingDay 992672162804.810864Heavily
BeijingDay 10101851272162.526127Moderately
BeijingDay 11113919380.573115Good
BeijingDay 12124111400.43217Good
BeijingDay 13136438741.044622Moderate
BeijingDay 1414108791201.77541Lightly
BeijingDay 1515108631161.484426Lightly
BeijingDay 1616336290.34135Good
BeijingDay 171794661101.546231Moderate
BeijingDay 18181861421923.889379Moderately
BeijingDay 19195731540.963214Moderate
BeijingDay 2020228170.482310Good
BeijingDay 21213915360.612913Good
GuangzhouDay 112637271.1632713Good
GuangzhouDay 228562711.195608Moderate
GuangzhouDay 337838741.363377Moderate
GuangzhouDay 442121360.634409Good
GuangzhouDay 554142460.9158113Good
GuangzhouDay 665652691.0679216Moderate
GuangzhouDay 776430280.924512Moderate
GuangzhouDay 885548741.2367526Moderate
GuangzhouDay 9976851131.23711427Moderate
GuangzhouDay 101091811041.0415640Moderate
GuangzhouDay 11118439600.9642511Moderate
GuangzhouDay 121264511010.8625823Moderate
GuangzhouDay 131370691201.1986536Moderate
GuangzhouDay 1414771051782.5496416Moderate
GuangzhouDay 151510968870.9967429Lightly
GuangzhouDay 16167368970.9055134Moderate
GuangzhouDay 17175427470.5925312Moderate
GuangzhouDay 18185161970.8116519Moderate
GuangzhouDay 191991711211.3744318Moderate
GuangzhouDay 2020731021822.7874419Moderate
GuangzhouDay 21217350760.7173120Moderate
ShanghaiDay 1191451250.823423Moderate
ShanghaiDay 226527780.864529Moderate
ShanghaiDay 338360841.097327Moderate
ShanghaiDay 44109811211.286851Lightly
ShanghaiDay 55106771141.075551Lightly
ShanghaiDay 66109811211.286851Lightly
ShanghaiDay 77106771141.075551Lightly
ShanghaiDay 888965780.865126Moderate
ShanghaiDay 995333470.645017Moderate
ShanghaiDay 10108055801.017524Moderate
ShanghaiDay 1111117811241.034524Lightly
ShanghaiDay 121299711421.16242Moderate
ShanghaiDay 131395691301.287450Moderate
ShanghaiDay 1414116871311.478440Lightly
ShanghaiDay 1515108801211.38537Lightly
ShanghaiDay 1616134831671.165743Lightly
ShanghaiDay 171779431071.055937Moderate
ShanghaiDay 18187146890.866425Moderate
ShanghaiDay 191997711131.178831Moderate
ShanghaiDay 20208457910.855531Moderate
ShanghaiDay 212187631010.95641Moderate
Usage Example
@interactiveparallel.Parallel(interactiveparallel.Config{
  Label: "Multi Series parallel coordinates",
  Dimensions: []interactiveparallel.Dimension{
    {Name: "Date", Range: &interactiveparallel.Range{Max: chart.Float(31)},
      Inverse: true, NameLocation: interactiveparallel.NameStart},
    {Name: "AQI"}, {Name: "PM2.5"}, {Name: "PM10"}, {Name: "CO"},
    {Name: "NO2"}, {Name: "SO2"},
    {Name: "Level", Categories: []string{
      "Good", "Moderate", "Lightly", "Moderately", "Heavily", "Severely",
    }},
  },
  Series: []interactiveparallel.Series{
    {Name: "Beijing", Observations: beijingObservations},
    {Name: "Guangzhou", Observations: guangzhouObservations},
    {Name: "Shanghai", Observations: shanghaiObservations},
  },
  Width: "900px", Height: "500px",
  Options: chart.ChartOptions{
    Title: &chart.TitleOptions{Text: "Multi Series"},
  },
  Style: charttheme.Style{Class: "max-w-full"},
})

Comparable dimensions

Each observation has one value for every declared dimension. Keep dimension names and scales clear before comparing paths.

Go API

v0.0.1

The examples above cover behavior and composition. pkg.go.dev is the canonical reference for exported types, functions, methods, and Go documentation.

github.com/araihu/goshtoso-charts/components/interactive/parallel

Enabled, disabled, hidden, and omitted wrapper behavior, controls, export, and client transitions are shared by every chart. Review chart controls, then compare static/vector and interactive capabilities.

Open v0.0.1 API