Sunburst Diagram

Hierarchy rows are normalized and partitioned into annular sectors with generated SVG path data.

Sunburst Diagram
Sunburst Diagram Pipeline pipeline

Data Sources

3

Fields

26

Scales

1

Layers

5

Glyphs

21

rect 3 / path 9 / text 9

Portfolio / Revenue: 66Portfolio / Revenue / Subscriptions: 44Portfolio / Revenue / Services: 22Portfolio / Retention: 49Portfolio / Retention / Renewals: 31Portfolio / Retention / Success: 18Portfolio / Expansion: 43Portfolio / Expansion / Add-ons: 16Portfolio / Expansion / Enterprise: 27RevenueRevenueSubscriptionsSubscriptionsServicesServicesRetentionRetentionRenewalsRenewalsSuccessSuccessExpansionExpansionAdd-onsAdd-onsEnterpriseEnterprise

Build Path

Sunburst Diagram Pipeline

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

Pipeline recipe graph

7 pipelines
8 nodes
5 edges

Data Flow Diagram

0/239 nodes
0/408 edges
239 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

3 tables
2 transforms

Imported table

source_gallery_sunburstdiagram
raw
7 columns
feeds pipeline_sunburst_hierarchy_transform

ChartSpec

{
  "id": "gallery.sunburstDiagram",
  "data": [
    {
      "id": "source_gallery_sunburstdiagram",
      "rows": 10
    },
    {
      "id": "source_hierarchy",
      "rows": 10
    },
    {
      "id": "source_sectors",
      "rows": 9
    }
  ],
  "transforms": [
    {
      "id": "pipeline_sunburst_hierarchy_transform",
      "type": "hierarchy",
      "input": "source_gallery_sunburstdiagram",
      "output": "source_hierarchy",
      "options": {
        "endField": "label",
        "errorMethod": "standardError",
        "field": "node",
        "fit": "contain",
        "geometryField": "node",
        "groupBy": [
          "node"
        ],
        "idField": "node",
        "includeMax": false,
        "labelField": "label",
        "layoutKind": "",
        "layoutMode": "proportionalAngle",
        "mode": "normal",
        "order": [],
        "orderField": "node",
        "parentField": "parent",
        "seriesBy": "parent",
        "sourceField": "node",
        "startField": "parent",
        "targetField": "parent",
        "value": "value",
        "xField": "parent",
        "yField": "label"
      }
    },
    {
      "id": "pipeline_sunburst_sector_layout_transform",
      "type": "layout",
      "input": "source_hierarchy",
      "output": "source_sectors",
      "options": {
        "errorMethod": "standardError",
        "fit": "contain",
        "includeMax": false,
        "innerRadius": 34,
        "layout": "pipeline_plot_layout",
        "layoutKind": "sunburstSectors",
        "layoutMode": "proportionalAngle",
        "mode": "normal",
        "order": [],
        "outerRadius": 156,
        "paddingInner": 0.8
      }
    }
  ],
  "axes": [],
  "grids": [],
  "legends": [],
  "fields": [
    "__rowLabel",
    "id",
    "node",
    "parent",
    "label",
    "value",
    "aggregateValue",
    "childCount",
    "depth",
    "formatted",
    "isLeaf",
    "order",
    "parentId",
    "pathLabel",
    "rootId",
    "tooltip",
    "displayLabel",
    "endAngle",
    "innerRadius",
    "labelOpacity",
    "labelX",
    "labelY",
    "outerRadius",
    "pathD",
    "share",
    "startAngle"
  ],
  "scales": [
    {
      "id": "pipeline_color_color_scale",
      "type": "ordinal",
      "domain": {
        "source": "field",
        "data": "source_sectors",
        "field": "label",
        "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_sunburst_sectors_layer",
      "mark": "path",
      "role": "data",
      "path": {
        "directD": true,
        "areaBand": false,
        "closedToY": false,
        "curve": "linear",
        "groupBy": [
          "id"
        ],
        "sortBy": ""
      }
    },
    {
      "id": "pipeline_sector_labels_layer",
      "mark": "text",
      "role": "guide"
    }
  ]
}

Resolved SceneGraph

{
  "scene": "gallery.sunburstDiagram.scene",
  "scales": [
    {
      "id": "pipeline_color_color_scale",
      "type": "ordinal",
      "domain": [
        "Revenue",
        "Subscriptions",
        "Services",
        "Retention",
        "Renewals",
        "Success",
        "Expansion",
        "Add-ons",
        "Enterprise"
      ],
      "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_sunburst_sectors_layer",
      "role": "data",
      "zIndex": 10,
      "glyphs": 9
    },
    {
      "id": "pipeline_sector_labels_layer",
      "role": "guide",
      "zIndex": 20,
      "glyphs": 9
    }
  ]
}

Glyph Data Tree

5 layers

Full parameter lineage for the active compiler surface.

create_chart_surface

1

pipeline_view_layout_surface

1

pipeline_plot_layout_surface

1

pipeline_sunburst_sectors_layer

9

pipeline_sector_labels_layer

9

Glyph Inspector

none

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