Skip to content

Parcoords

Overview

The parcoords insight type is used to create parallel coordinates plots, which are useful for visualizing multi-dimensional numerical data. In parallel coordinates plots, each variable is represented as a vertical axis, and each data point is a line connecting its values across the different axes.

You can customize the axis scaling, color mapping, and line properties to represent your data effectively.

Common Uses

  • Multivariate Data Analysis: Visualizing relationships between multiple variables.
  • Data Exploration: Exploring patterns and outliers in high-dimensional datasets.
  • Decision Making: Identifying optimal points or anomalies in multi-variable data.

Check out the Attributes for the full set of configuration options

Examples

Common Configurations

Here's a simple parcoords insight visualizing three numerical variables:

sources:
  - name: parcoords-data-source
    type: duckdb
    database: target/seeds/parcoords_data.duckdb
    seeds:
      - table_name: model
        args:
          - echo
          - |
            variable_1,variable_2,variable_3
            1,4,7
            2,5,8
            3,6,9

models:
  - name: parcoords-data
    source: ${ref(parcoords-data-source)}
    sql: select * from model
insights:
  - name: Simple Parcoords Plot
    description: "Parallel coordinates plot with three numerical variables"
    props:
      type: parcoords
      dimensions:
        - label: "Variable 1"
          values: ?{${ref(parcoords-data).variable_1}}
        - label: "Variable 2"
          values: ?{${ref(parcoords-data).variable_2}}
        - label: "Variable 3"
          values: ?{${ref(parcoords-data).variable_3}}
      line:
        color: ?{${ref(parcoords-data).variable_3}}
        colorscale: "Viridis"
    interactions:
      - split: ?{variable_1}
      - split: ?{variable_2}
      - sort: ?{variable_3 ASC}

charts:
  - name: Simple Parcoords Chart
    insights:
      - ${ref(Simple Parcoords Plot)}
    layout:
      title:
        text: Simple Parcoords Plot<br><sub>Parallel Coordinates with Three Variables</sub>

This example demonstrates a parcoords insight with custom axis ranges, allowing you to focus on specific data ranges:

sources:
  - name: parcoords-data-ranges-source
    type: duckdb
    database: target/seeds/parcoords_data_ranges.duckdb
    seeds:
      - table_name: model
        args:
          - echo
          - |
            variable_1,variable_2,variable_3
            5,10,15
            10,20,25
            15,30,35

models:
  - name: parcoords-data-ranges
    source: ${ref(parcoords-data-ranges-source)}
    sql: select * from model
insights:
  - name: Parcoords Plot with Custom Ranges
    description: "Parallel coordinates with custom axis ranges"
    props:
      type: parcoords
      dimensions:
        - label: "Variable 1"
          values: ?{${ref(parcoords-data-ranges).variable_1}}
          range: [5, 15]
        - label: "Variable 2"
          values: ?{${ref(parcoords-data-ranges).variable_2}}
          range: [10, 30]
        - label: "Variable 3"
          values: ?{${ref(parcoords-data-ranges).variable_3}}
          range: [15, 35]
      line:
        color: ?{${ref(parcoords-data-ranges).variable_3}}
        colorscale: "Blues"
    interactions:
      - split: ?{variable_1}
      - split: ?{variable_2}
      - sort: ?{variable_3 DESC}

charts:
  - name: Parcoords Chart with Custom Ranges
    insights:
      - ${ref(Parcoords Plot with Custom Ranges)}
    layout:
      title:
        text: Parcoords Plot with Custom Ranges<br><sub>Custom Ranges for Each Variable</sub>

Here's a parcoords insight with a custom colorscale for the lines, highlighting the variations across the third variable:

sources:
  - name: parcoords-data-colorscale-source
    type: duckdb
    database: target/seeds/parcoords_data_colorscale.duckdb
    seeds:
      - table_name: model
        args:
          - echo
          - |
            variable_1,variable_2,variable_3
            1,2,3
            2,3,4
            3,4,5

models:
  - name: parcoords-data-colorscale
    source: ${ref(parcoords-data-colorscale-source)}
    sql: select * from model
insights:
  - name: Parcoords Plot with Custom Colorscale
    description: "Custom colorscale applied to parallel coordinates"
    props:
      type: parcoords
      dimensions:
        - label: "Variable 1"
          values: ?{${ref(parcoords-data-colorscale).variable_1}}
        - label: "Variable 2"
          values: ?{${ref(parcoords-data-colorscale).variable_2}}
        - label: "Variable 3"
          values: ?{${ref(parcoords-data-colorscale).variable_3}}
      line:
        color: ?{${ref(parcoords-data-colorscale).variable_3}}
        colorscale: "Jet"
    interactions:
      - split: ?{variable_1}
      - split: ?{variable_2}
      - sort: ?{variable_3 ASC}

charts:
  - name: Parcoords Chart with Custom Colorscale
    insights:
      - ${ref(Parcoords Plot with Custom Colorscale)}
    layout:
      title:
        text: Parcoords Plot with Custom Colorscale<br><sub>Custom Colors for Line Based on Variable 3</sub>