Small Multiples

Raw channel revenue is laid out into facet panels, sparkline points, and endpoints.

Small Multiples
Small Multiples Pipeline pipeline

Data Sources

4

Fields

24

Scales

1

Layers

11

Glyphs

19

rect 10 / text 3 / path 3 / point 3

Online-Jan OnlineRetail-Jan RetailWholesale-Jan WholesaleOnlineOnlineRetailRetailWholesaleWholesaleOnline Jan: $24,000Retail Jan: $42,000Wholesale Jan: $18,000Online-Jun OnlineRetail-Jun RetailWholesale-Jun Wholesale

Build Path

Small Multiples Pipeline

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

Pipeline recipe graph

1 pipelines
25 nodes
20 edges

Data Flow Diagram

0/245 nodes
0/370 edges
245 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

4 tables
3 transforms

Imported table

source_gallery_smallmultiples
raw
9 columns
feeds pipeline_facet_panel_layout_transform
feeds pipeline_sparkline_point_layout_transform

ChartSpec

{
  "id": "gallery.smallMultiples",
  "data": [
    {
      "id": "source_gallery_smallmultiples",
      "rows": 18
    },
    {
      "id": "source_facets",
      "rows": 3
    },
    {
      "id": "source_series_points",
      "rows": 18
    },
    {
      "id": "source_endpoints",
      "rows": 3
    }
  ],
  "transforms": [
    {
      "id": "pipeline_facet_panel_layout_transform",
      "type": "layout",
      "input": "source_gallery_smallmultiples",
      "output": "source_facets",
      "options": {
        "errorMethod": "standardError",
        "field": "series",
        "fit": "contain",
        "geometryField": "series",
        "groupBy": [
          "series"
        ],
        "idField": "series",
        "includeMax": false,
        "labelField": "series",
        "layout": "pipeline_small_multiple_grid_layout",
        "layoutKind": "facetPanels",
        "layoutMode": "proportionalAngle",
        "mode": "normal",
        "order": [
          "Online",
          "Retail",
          "Wholesale"
        ],
        "orderField": "series",
        "panelHeaderHeight": 24,
        "sourceField": "series",
        "value": "series"
      }
    },
    {
      "id": "pipeline_sparkline_point_layout_transform",
      "type": "layout",
      "input": "source_gallery_smallmultiples",
      "output": "source_series_points",
      "options": {
        "end": 67,
        "endField": "order",
        "errorMethod": "standardError",
        "field": "series",
        "fit": "contain",
        "geometryField": "series",
        "groupBy": [
          "series"
        ],
        "idField": "series",
        "includeMax": false,
        "labelField": "series",
        "layout": "pipeline_small_multiple_grid_layout",
        "layoutKind": "facetPoints",
        "layoutMode": "proportionalAngle",
        "mode": "normal",
        "order": [
          "Online",
          "Retail",
          "Wholesale"
        ],
        "orderField": "series",
        "panelHeaderHeight": 24,
        "parentField": "month",
        "seriesBy": "month",
        "sourceField": "series",
        "start": 0,
        "startField": "month",
        "targetField": "month",
        "value": "linestroke",
        "xField": "order",
        "xPadding": 18,
        "yField": "value",
        "yPadding": 8
      }
    },
    {
      "id": "pipeline_sparkline_endpoint_sample_transform",
      "type": "sample",
      "input": "source_series_points",
      "output": "source_endpoints",
      "options": {
        "count": 1,
        "errorMethod": "standardError",
        "field": "series",
        "fit": "contain",
        "geometryField": "series",
        "groupBy": [
          "series"
        ],
        "idField": "series",
        "includeMax": true,
        "labelField": "series",
        "layoutKind": "",
        "layoutMode": "proportionalAngle",
        "mode": "normal",
        "order": [],
        "orderField": "order",
        "parentField": "order",
        "seriesBy": "order",
        "sourceField": "series",
        "startField": "order",
        "targetField": "order",
        "value": "order",
        "xField": "order"
      }
    }
  ],
  "axes": [],
  "grids": [],
  "legends": [],
  "fields": [
    "__rowLabel",
    "id",
    "series",
    "month",
    "order",
    "linestroke",
    "value",
    "tooltip",
    "averageLabel",
    "averageY",
    "centerX",
    "height",
    "labelX",
    "labelY",
    "panelX0",
    "panelX1",
    "panelY0",
    "panelY1",
    "plotY0",
    "plotY1",
    "width",
    "x",
    "y",
    "sampleIndex"
  ],
  "scales": [
    {
      "id": "pipeline_color_color_scale",
      "type": "ordinal",
      "domain": {
        "source": "field",
        "data": "source_series_points",
        "field": "series",
        "fields": [],
        "includeZero": false,
        "order": "input",
        "reverse": false,
        "symmetric": false
      }
    }
  ],
  "layers": [
    {
      "id": "create_chart_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_view_layout_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_plot_layout_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_small_multiple_grid_layout_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_small_multiple_panel_online_layout_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_small_multiple_panel_retail_layout_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_small_multiple_panel_wholesale_layout_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_facet_panels_layer",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_facet_labels_layer",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "pipeline_spark_lines_layer",
      "mark": "path",
      "role": "data",
      "path": {
        "directD": false,
        "areaBand": false,
        "closedToY": false,
        "curve": "linear",
        "groupBy": [
          "series"
        ],
        "sortBy": "order"
      }
    },
    {
      "id": "pipeline_spark_endpoints_layer",
      "mark": "point",
      "role": "interaction"
    }
  ]
}

Resolved SceneGraph

{
  "scene": "gallery.smallMultiples.scene",
  "scales": [
    {
      "id": "pipeline_color_color_scale",
      "type": "ordinal",
      "domain": [
        "Online",
        "Retail",
        "Wholesale"
      ],
      "range": [
        "var(--colors-blue-9)",
        "var(--colors-green-9)",
        "var(--colors-amber-9)",
        "var(--colors-purple-9)",
        "var(--colors-red-9)"
      ]
    }
  ],
  "layers": [
    {
      "id": "create_chart_surface",
      "role": "context",
      "zIndex": -10,
      "glyphs": 1
    },
    {
      "id": "pipeline_view_layout_surface",
      "role": "context",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "pipeline_plot_layout_surface",
      "role": "context",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "pipeline_small_multiple_grid_layout_surface",
      "role": "context",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "pipeline_small_multiple_panel_online_layout_surface",
      "role": "context",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "pipeline_small_multiple_panel_retail_layout_surface",
      "role": "context",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "pipeline_small_multiple_panel_wholesale_layout_surface",
      "role": "context",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "pipeline_facet_panels_layer",
      "role": "context",
      "zIndex": 0,
      "glyphs": 3
    },
    {
      "id": "pipeline_facet_labels_layer",
      "role": "guide",
      "zIndex": 5,
      "glyphs": 3
    },
    {
      "id": "pipeline_spark_lines_layer",
      "role": "data",
      "zIndex": 10,
      "glyphs": 3
    },
    {
      "id": "pipeline_spark_endpoints_layer",
      "role": "interaction",
      "zIndex": 20,
      "glyphs": 3
    }
  ]
}

Glyph Data Tree

11 layers

Full parameter lineage for the active compiler surface.

create_chart_surface

1

pipeline_view_layout_surface

1

pipeline_plot_layout_surface

1

pipeline_small_multiple_grid_layout_surface

1

pipeline_small_multiple_panel_online_layout_surface

1

pipeline_small_multiple_panel_retail_layout_surface

1

pipeline_small_multiple_panel_wholesale_layout_surface

1

pipeline_facet_panels_layer

3

pipeline_facet_labels_layer

3

pipeline_spark_lines_layer

3

pipeline_spark_endpoints_layer

3

Glyph Inspector

none

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