Skip to content

Splom

Overview

The splom insight type is used to create scatter plot matrices, which visualize pairwise relationships between multiple variables. It is ideal for exploring correlations, clusters, and patterns in multi-dimensional datasets.

You can customize marker size, color, and lines for each pair of variables in the matrix.

Common Uses

  • Pairwise Relationship Analysis: Exploring multiple variable relationships simultaneously.
  • Correlation Visualization: Identifying patterns, clusters, or outliers in high-dimensional data.
  • Multivariate Data Exploration: Useful in statistics, machine learning, and data science.

Check out the Attributes for the full set of configuration options

Examples

Common Configurations

sources:
  - name: splom-data-source
    type: duckdb
    database: target/seeds/splom_data.duckdb
    seeds:
      - table_name: model
        args:
          - curl
          - "-s"
          - "https://raw.githubusercontent.com/visivo-io/data/refs/heads/main/iris.csv"
models:
  - name: splom-data
    source: ${ref(splom-data-source)}
    sql: select * from model
insights:
  - name: Simple Splom Insight
    props:
      type: splom
      dimensions:
        - label: "Sepal Length"
          values: ?{${ref(splom-data).sepal_length}}
        - label: "Sepal Width"
          values: ?{${ref(splom-data).sepal_width}}
        - label: "Petal Length"
          values: ?{${ref(splom-data).petal_length}}
        - label: "Petal Width"
          values: ?{${ref(splom-data).petal_width}}
      diagonal:
        visible: false
      showupperhalf: false

charts:
  - name: Simple Splom Chart
    insights:
      - ${ref(Simple Splom Insight)}
    layout:
      title:
        text: Simple Splom Plot<br><sub>Scatter Plot Matrix of Four Variables & Three Cohorts</sub>
sources:
  - name: splom-data-colors-source
    type: duckdb
    database: target/seeds/splom_data_colors.duckdb
    seeds:
      - table_name: model
        args:
          - echo
          - |
            var1,var2,var3,category
            1,2,3,A
            2,3,4,B
            3,4,5,A
            4,5,6,B
            5,6,7,A
models:
  - name: splom-data-colors
    source: ${ref(splom-data-colors-source)}
    sql: select * from model
insights:
  - name: Splom Insight with Custom Colors
    props:
      type: splom
      dimensions:
        - label: "Variable 1"
          values: ?{${ref(splom-data-colors).var1}}
        - label: "Variable 2"
          values: ?{${ref(splom-data-colors).var2}}
        - label: "Variable 3"
          values: ?{${ref(splom-data-colors).var3}}
      marker:
        color: ?{ case when ${ref(splom-data-colors).category} = 'A' then 'red' else 'green' end }
        size: 20
    interactions:
      - split: ?{ category }
charts:
  - name: Splom Chart with Custom Colors
    insights:
      - ${ref(Splom Insight with Custom Colors)}
    layout:
      title:
        text: Splom Plot with Custom Colors<br><sub>Color-Coded Scatter Plot Matrix</sub>
sources:
  - name: splom-data-sizes-source
    type: duckdb
    database: target/seeds/splom_data_sizes.duckdb
    seeds:
      - table_name: model
        args:
          - echo
          - |
            var1,var2,var3,size
            1,2,3,10
            2,3,4,15
            3,4,5,20
            4,5,6,25
            5,6,7,30
models:
  - name: splom-data-sizes
    source: ${ref(splom-data-sizes-source)}
    sql: select * from model
insights:
  - name: Splom Insight with Custom Sizes
    props:
      type: splom
      dimensions:
        - label: "Variable 1"
          values: ?{${ref(splom-data-sizes).var1}}
        - label: "Variable 2"
          values: ?{${ref(splom-data-sizes).var2}}
        - label: "Variable 3"
          values: ?{${ref(splom-data-sizes).var3}}
      marker:
        size: ?{${ref(splom-data-sizes).size}}
    interactions:
      - split: ?{ size }
charts:
  - name: Splom Chart with Custom Sizes
    insights:
      - ${ref(Splom Insight with Custom Sizes)}
    layout:
      title:
        text: Splom Plot with Custom Sizes<br><sub>Scatter Plot Matrix with Custom Marker Sizes</sub>