Scatterplot

Rebuilds the scatterplot with color scale, regression trend, point layer, and filtered outlier labels.

Scatterplot
Gallery Scatterplot Pipeline pipeline

Data Sources

7

Fields

11

Scales

3

Layers

10

Glyphs

45

rect 2 / line 17 / path 1 / text 13 / point 12

Trend: y = 0.39x + 32.21020406080100020406080Aster: 14 reach, 24 conversionBirch: 21 reach, 34 conversionCedar: 28 reach, 31 conversionDune: 36 reach, 42 conversionElm: 44 reach, 48 conversionFern: 52 reach, 57 conversionGrove: 58 reach, 54 conversionHarbor: 64 reach, 66 conversionIris: 72 reach, 74 conversionJuniper: 78 reach, 69 conversionKeystone: 88 reach, 38 conversionLumen: 34 reach, 79 conversionKeystoneKeystoneLumenLumen

Build Path

Gallery Scatterplot Pipeline

This example is rebuilt from gallery data source points by recipe scatterplot: raw table rows -> TabularSource -> pipeline drafts -> analyzeAuthoringDrafts() -> materialized ChartSpec -> compileChart() -> SceneGraph -> SVG. The graph below shows the authored pipeline stage.

Pipeline recipe graph

13 pipelines
14 nodes
23 edges

Data Flow Diagram

0/460 nodes
0/849 edges
460 hidden

Select a glyph to highlight its complete source path.

Scope

Roles

source
transform
field
scale
layer
param
glyph

No matching flow nodes

Adjust search, scope, or role filters.

Available Data

7 tables
1 transforms

Imported table

source_gallery_scatterplot
raw
8 columns
feeds pipeline_regression_trend_transform

ChartSpec

{
  "id": "gallery.scatterplot",
  "data": [
    {
      "id": "source_gallery_scatterplot",
      "rows": 12
    },
    {
      "id": "pipeline_outlier_labels_source",
      "rows": 2
    },
    {
      "id": "source_trend",
      "rows": 2
    },
    {
      "id": "__guide.pipeline_xgrid_guide",
      "rows": 6
    },
    {
      "id": "__guide.pipeline_ygrid_guide",
      "rows": 5
    },
    {
      "id": "__guide.pipeline_xaxis_guide",
      "rows": 6
    },
    {
      "id": "__guide.pipeline_yaxis_guide",
      "rows": 5
    }
  ],
  "transforms": [
    {
      "id": "pipeline_regression_trend_transform",
      "type": "regression",
      "input": "source_gallery_scatterplot",
      "output": "source_trend",
      "options": {
        "count": 1,
        "errorMethod": "standardError",
        "fit": "contain",
        "includeMax": true,
        "layoutKind": "",
        "layoutMode": "proportionalAngle",
        "mode": "normal",
        "order": [],
        "xField": "x",
        "yField": "y"
      }
    }
  ],
  "axes": [
    {
      "id": "pipeline_xaxis_guide",
      "scale": "pipeline_x_x_x_scale",
      "orientation": "bottom"
    },
    {
      "id": "pipeline_yaxis_guide",
      "scale": "pipeline_y_y_y_scale",
      "orientation": "left"
    }
  ],
  "grids": [
    {
      "id": "pipeline_xgrid_guide",
      "scale": "pipeline_x_x_x_scale",
      "orientation": "x"
    },
    {
      "id": "pipeline_ygrid_guide",
      "scale": "pipeline_y_y_y_scale",
      "orientation": "y"
    }
  ],
  "legends": [],
  "fields": [
    "__rowLabel",
    "label",
    "category",
    "x",
    "y",
    "tooltip",
    "id",
    "intercept",
    "rSquared",
    "slope",
    "value"
  ],
  "scales": [
    {
      "id": "pipeline_x_x_x_scale",
      "type": "linear",
      "domain": {
        "source": "field",
        "data": "source_gallery_scatterplot",
        "field": "x",
        "fields": [],
        "includeZero": true,
        "order": "input",
        "reverse": false,
        "symmetric": false
      }
    },
    {
      "id": "pipeline_y_y_y_scale",
      "type": "linear",
      "domain": {
        "source": "field",
        "data": "source_gallery_scatterplot",
        "field": "y",
        "fields": [],
        "includeZero": true,
        "order": "input",
        "reverse": false,
        "symmetric": false
      }
    },
    {
      "id": "pipeline_category_color_color_scale",
      "type": "ordinal",
      "domain": {
        "source": "field",
        "data": "source_gallery_scatterplot",
        "field": "category",
        "fields": [],
        "includeZero": false,
        "order": "input",
        "reverse": false,
        "symmetric": false
      }
    }
  ],
  "layers": [
    {
      "id": "pipeline_xgrid_guide",
      "mark": "line",
      "role": "guide"
    },
    {
      "id": "pipeline_ygrid_guide",
      "mark": "line",
      "role": "guide"
    },
    {
      "id": "pipeline_xaxis_guide-tick-marks",
      "mark": "line",
      "role": "guide"
    },
    {
      "id": "pipeline_xaxis_guide-labels",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "pipeline_yaxis_guide-labels",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "create_chart_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_y_trend_panel_layout_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_y_trend_points_layer",
      "mark": "point",
      "role": "data"
    },
    {
      "id": "pipeline_y_trend_line_layer",
      "mark": "path",
      "role": "data",
      "path": {
        "directD": false,
        "areaBand": false,
        "closedToY": false,
        "curve": "linear",
        "sortBy": "x"
      }
    },
    {
      "id": "pipeline_outlier_labels_layer",
      "mark": "text",
      "role": "guide"
    }
  ]
}

Resolved SceneGraph

{
  "scene": "gallery.scatterplot.scene",
  "scales": [
    {
      "id": "pipeline_x_x_x_scale",
      "type": "linear",
      "domain": [
        0,
        100
      ],
      "range": [
        70,
        830
      ],
      "ticks": [
        0,
        20,
        40,
        60,
        80,
        100
      ]
    },
    {
      "id": "pipeline_y_y_y_scale",
      "type": "linear",
      "domain": [
        0,
        80
      ],
      "range": [
        400,
        70
      ],
      "ticks": [
        0,
        20,
        40,
        60,
        80
      ]
    },
    {
      "id": "pipeline_category_color_color_scale",
      "type": "ordinal",
      "domain": [
        "Core",
        "Growth",
        "Scale",
        "Outlier"
      ],
      "range": [
        "var(--colors-blue-9)",
        "var(--colors-green-9)",
        "var(--colors-orange-9)",
        "var(--colors-purple-9)"
      ]
    }
  ],
  "layers": [
    {
      "id": "create_chart_surface",
      "role": "context",
      "zIndex": -10,
      "glyphs": 1
    },
    {
      "id": "pipeline_xgrid_guide",
      "role": "guide",
      "zIndex": 0,
      "glyphs": 6
    },
    {
      "id": "pipeline_ygrid_guide",
      "role": "guide",
      "zIndex": 0,
      "glyphs": 5
    },
    {
      "id": "pipeline_y_trend_panel_layout_surface",
      "role": "context",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "pipeline_xaxis_guide-tick-marks",
      "role": "guide",
      "zIndex": 5,
      "glyphs": 6
    },
    {
      "id": "pipeline_y_trend_line_layer",
      "role": "data",
      "zIndex": 7,
      "glyphs": 1
    },
    {
      "id": "pipeline_xaxis_guide-labels",
      "role": "guide",
      "zIndex": 20,
      "glyphs": 6
    },
    {
      "id": "pipeline_yaxis_guide-labels",
      "role": "guide",
      "zIndex": 20,
      "glyphs": 5
    },
    {
      "id": "pipeline_y_trend_points_layer",
      "role": "data",
      "zIndex": 20,
      "glyphs": 12
    },
    {
      "id": "pipeline_outlier_labels_layer",
      "role": "guide",
      "zIndex": 30,
      "glyphs": 2
    }
  ]
}

Glyph Data Tree

10 layers

Full parameter lineage for the active compiler surface.

create_chart_surface

1

pipeline_xgrid_guide

6

pipeline_ygrid_guide

5

pipeline_y_trend_panel_layout_surface

1

pipeline_xaxis_guide-tick-marks

6

pipeline_y_trend_line_layer

1

pipeline_xaxis_guide-labels

6

pipeline_yaxis_guide-labels

5

pipeline_y_trend_points_layer

12

pipeline_outlier_labels_layer

2

Glyph Inspector

none

Select a glyph in the chart to inspect resolved params and lineage.