Pie Chart

Rebuilds the catalogue pie chart with polar sectors, direct percent labels, and a legend.

Pie Chart
Gallery Pie Pipeline pipeline

Data Sources

4

Fields

22

Scales

1

Layers

7

Glyphs

23

rect 7 / path 5 / text 11

Referral: 8 (8%)Email: 14 (14%)Social: 18 (18%)Direct: 26 (26%)Search: 34 (34%)34%34%26%26%18%18%14%14%8%8%SearchDirectSocialEmailReferralchannel

Build Path

Gallery Pie Pipeline

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

Pipeline recipe graph

6 pipelines
7 nodes
6 edges

Data Flow Diagram

0/253 nodes
0/427 edges
253 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
1 transforms

Imported table

source_gallery_piechart
raw
5 columns
feeds pipeline_polar_sectors_transform

ChartSpec

{
  "id": "gallery.pieChart",
  "data": [
    {
      "id": "source_gallery_piechart",
      "rows": 5
    },
    {
      "id": "source_sectors",
      "rows": 5
    },
    {
      "id": "__guide.pipeline_channel_legend_guide",
      "rows": 5
    },
    {
      "id": "__guide.pipeline_channel_legend_guide.title",
      "rows": 1
    }
  ],
  "transforms": [
    {
      "id": "pipeline_polar_sectors_transform",
      "type": "layout",
      "input": "source_gallery_piechart",
      "output": "source_sectors",
      "options": {
        "count": 1,
        "errorMethod": "standardError",
        "fit": "contain",
        "includeMax": true,
        "labelField": "channel",
        "layout": "pipeline_value_pie_panel_layout",
        "layoutKind": "polarSectors",
        "layoutMode": "proportionalAngle",
        "mode": "normal",
        "order": [],
        "outerRadius": 138,
        "paddingInner": 1.2,
        "value": "value"
      }
    }
  ],
  "axes": [],
  "grids": [],
  "legends": [
    {
      "id": "pipeline_channel_legend_guide",
      "scale": "pipeline_channel_color_color_scale",
      "kind": "color",
      "title": "channel"
    }
  ],
  "fields": [
    "__rowLabel",
    "id",
    "channel",
    "value",
    "endAngle",
    "formatted",
    "innerRadius",
    "labelX",
    "labelY",
    "midAngle",
    "outerRadius",
    "pathD",
    "percentLabel",
    "share",
    "startAngle",
    "tooltip",
    "label",
    "x",
    "y",
    "symbolX",
    "symbolY",
    "text"
  ],
  "scales": [
    {
      "id": "pipeline_channel_color_color_scale",
      "type": "ordinal",
      "domain": {
        "source": "field",
        "data": "source_sectors",
        "field": "channel",
        "fields": [],
        "includeZero": false,
        "order": "input",
        "reverse": false,
        "symmetric": false
      }
    }
  ],
  "layers": [
    {
      "id": "pipeline_channel_legend_guide-swatches",
      "mark": "rect",
      "role": "guide"
    },
    {
      "id": "pipeline_channel_legend_guide-labels",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "pipeline_channel_legend_guide-title",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "create_chart_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_value_pie_panel_layout_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_value_pie_sectors_layer",
      "mark": "path",
      "role": "data",
      "path": {
        "directD": true,
        "areaBand": false,
        "closedToY": false,
        "curve": "linear",
        "sortBy": "value"
      }
    },
    {
      "id": "pipeline_value_pie_labels_layer",
      "mark": "text",
      "role": "guide"
    }
  ]
}

Resolved SceneGraph

{
  "scene": "gallery.pieChart.scene",
  "scales": [
    {
      "id": "pipeline_channel_color_color_scale",
      "type": "ordinal",
      "domain": [
        "Search",
        "Direct",
        "Social",
        "Email",
        "Referral"
      ],
      "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_value_pie_panel_layout_surface",
      "role": "context",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "pipeline_value_pie_sectors_layer",
      "role": "data",
      "zIndex": 20,
      "glyphs": 5
    },
    {
      "id": "pipeline_value_pie_labels_layer",
      "role": "guide",
      "zIndex": 25,
      "glyphs": 5
    },
    {
      "id": "pipeline_channel_legend_guide-swatches",
      "role": "guide",
      "zIndex": 40,
      "glyphs": 5
    },
    {
      "id": "pipeline_channel_legend_guide-labels",
      "role": "guide",
      "zIndex": 41,
      "glyphs": 5
    },
    {
      "id": "pipeline_channel_legend_guide-title",
      "role": "guide",
      "zIndex": 42,
      "glyphs": 1
    }
  ]
}

Glyph Data Tree

7 layers

Full parameter lineage for the active compiler surface.

create_chart_surface

1

pipeline_value_pie_panel_layout_surface

1

pipeline_value_pie_sectors_layer

5

pipeline_value_pie_labels_layer

5

pipeline_channel_legend_guide-swatches

5

pipeline_channel_legend_guide-labels

5

pipeline_channel_legend_guide-title

1

Glyph Inspector

none

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