Chart Compiler Gallery
ChartSpec data compiles into resolved scales, layer specs, glyph definitions, scene graph nodes, and a single SVG renderer.
Radar Chart
Metric rows compile into radial axes, guide rings, closed profile polygons, and vertex points.
Data Sources
7
Fields
27
Scales
1
Layers
12
Glyphs
46
rect 6 / path 7 / line 5 / text 13 / point 15
Build Path
This example is rebuilt from gallery data source scores by recipe radarChart: raw table rows -> TabularSource -> pipeline drafts -> analyzeAuthoringDrafts() -> materialized ChartSpec -> compileChart() -> SceneGraph -> SVG. The graph below shows the authored pipeline stage.
Pipeline recipe graph
Data Flow Diagram
Select a glyph to highlight its complete source path.
Scope
Roles
No matching flow nodes
Adjust search, scope, or role filters.
Available Data
Imported table
ChartSpec
{
"id": "gallery.radarChart",
"data": [
{
"id": "source_gallery_radarchart",
"rows": 15
},
{
"id": "source_radar_axes",
"rows": 5
},
{
"id": "source_radar_rings",
"rows": 4
},
{
"id": "source_radar_polygons",
"rows": 3
},
{
"id": "source_radar_points",
"rows": 15
},
{
"id": "__guide.pipeline_region_legend_guide",
"rows": 3
},
{
"id": "__guide.pipeline_region_legend_guide.title",
"rows": 1
}
],
"transforms": [
{
"id": "pipeline_radar_axis_layout_transform",
"type": "layout",
"input": "source_gallery_radarchart",
"output": "source_radar_axes",
"options": {
"errorMethod": "standardError",
"field": "metric",
"fit": "contain",
"geometryField": "metric",
"groupBy": [
"metric"
],
"idField": "metric",
"includeMax": false,
"labelField": "metric",
"layout": "pipeline_plot_layout",
"layoutKind": "radarAxes",
"layoutMode": "proportionalAngle",
"maxValue": 100,
"mode": "normal",
"order": [
"Awareness",
"Conversion",
"Retention",
"Margin",
"Satisfaction"
],
"orderField": "metric",
"outerRadius": 132,
"parentField": "score",
"seriesBy": "score",
"sourceField": "metric",
"startField": "score",
"targetField": "score",
"value": "score",
"xField": "score"
}
},
{
"id": "pipeline_radar_ring_layout_transform",
"type": "layout",
"input": "source_gallery_radarchart",
"output": "source_radar_rings",
"options": {
"count": 4,
"errorMethod": "standardError",
"field": "metric",
"fit": "contain",
"geometryField": "metric",
"groupBy": [
"metric"
],
"idField": "metric",
"includeMax": false,
"labelField": "metric",
"layout": "pipeline_plot_layout",
"layoutKind": "radarRings",
"layoutMode": "proportionalAngle",
"maxValue": 100,
"mode": "normal",
"order": [
"Awareness",
"Conversion",
"Retention",
"Margin",
"Satisfaction"
],
"orderField": "metric",
"outerRadius": 132,
"parentField": "score",
"seriesBy": "score",
"sourceField": "metric",
"startField": "score",
"targetField": "score",
"value": "score",
"xField": "score"
}
},
{
"id": "pipeline_radar_polygon_layout_transform",
"type": "layout",
"input": "source_gallery_radarchart",
"output": "source_radar_polygons",
"options": {
"errorMethod": "standardError",
"field": "metric",
"fit": "contain",
"geometryField": "metric",
"groupBy": [
"metric"
],
"idField": "metric",
"includeMax": false,
"labelField": "metric",
"layout": "pipeline_plot_layout",
"layoutKind": "radarPolygons",
"layoutMode": "proportionalAngle",
"maxValue": 100,
"mode": "normal",
"order": [
"Awareness",
"Conversion",
"Retention",
"Margin",
"Satisfaction"
],
"orderField": "metric",
"outerRadius": 132,
"parentField": "score",
"seriesBy": "region",
"sourceField": "metric",
"startField": "score",
"targetField": "score",
"value": "score",
"xField": "score"
}
},
{
"id": "pipeline_radar_point_layout_transform",
"type": "layout",
"input": "source_gallery_radarchart",
"output": "source_radar_points",
"options": {
"errorMethod": "standardError",
"field": "metric",
"fit": "contain",
"geometryField": "metric",
"groupBy": [
"metric"
],
"idField": "metric",
"includeMax": false,
"labelField": "metric",
"layout": "pipeline_plot_layout",
"layoutKind": "radarPoints",
"layoutMode": "proportionalAngle",
"maxValue": 100,
"mode": "normal",
"order": [
"Awareness",
"Conversion",
"Retention",
"Margin",
"Satisfaction"
],
"orderField": "metric",
"outerRadius": 132,
"parentField": "score",
"seriesBy": "region",
"sourceField": "metric",
"startField": "score",
"targetField": "score",
"value": "score",
"xField": "score"
}
}
],
"axes": [],
"grids": [],
"legends": [
{
"id": "pipeline_region_legend_guide",
"scale": "pipeline_color_color_scale",
"kind": "color",
"title": "Region"
}
],
"fields": [
"__rowLabel",
"id",
"region",
"metric",
"score",
"angle",
"axis",
"axisIndex",
"axisLabel",
"labelX",
"labelY",
"x1",
"x2",
"y1",
"y2",
"label",
"pathD",
"value",
"average",
"formatted",
"series",
"tooltip",
"x",
"y",
"symbolX",
"symbolY",
"text"
],
"scales": [
{
"id": "pipeline_color_color_scale",
"type": "ordinal",
"domain": {
"source": "field",
"data": "source_radar_polygons",
"field": "series",
"fields": [],
"includeZero": false,
"order": "input",
"reverse": false,
"symmetric": false
}
}
],
"layers": [
{
"id": "pipeline_region_legend_guide-swatches",
"mark": "rect",
"role": "guide"
},
{
"id": "pipeline_region_legend_guide-labels",
"mark": "text",
"role": "guide"
},
{
"id": "pipeline_region_legend_guide-title",
"mark": "text",
"role": "guide"
},
{
"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_radar_rings_layer",
"mark": "path",
"role": "guide",
"path": {
"directD": true,
"areaBand": false,
"closedToY": false,
"curve": "linear",
"sortBy": ""
}
},
{
"id": "pipeline_radar_axes_layer",
"mark": "line",
"role": "guide"
},
{
"id": "pipeline_ring_labels_layer",
"mark": "text",
"role": "guide"
},
{
"id": "pipeline_axis_labels_layer",
"mark": "text",
"role": "guide"
},
{
"id": "pipeline_radar_areas_layer",
"mark": "path",
"role": "data",
"path": {
"directD": true,
"areaBand": false,
"closedToY": false,
"curve": "linear",
"sortBy": ""
}
},
{
"id": "pipeline_radar_points_layer",
"mark": "point",
"role": "interaction"
}
]
}Resolved SceneGraph
{
"scene": "gallery.radarChart.scene",
"scales": [
{
"id": "pipeline_color_color_scale",
"type": "ordinal",
"domain": [
"North",
"South",
"West"
],
"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_radar_rings_layer",
"role": "guide",
"zIndex": 0,
"glyphs": 4
},
{
"id": "pipeline_radar_axes_layer",
"role": "guide",
"zIndex": 2,
"glyphs": 5
},
{
"id": "pipeline_ring_labels_layer",
"role": "guide",
"zIndex": 4,
"glyphs": 4
},
{
"id": "pipeline_axis_labels_layer",
"role": "guide",
"zIndex": 6,
"glyphs": 5
},
{
"id": "pipeline_radar_areas_layer",
"role": "data",
"zIndex": 20,
"glyphs": 3
},
{
"id": "pipeline_radar_points_layer",
"role": "interaction",
"zIndex": 30,
"glyphs": 15
},
{
"id": "pipeline_region_legend_guide-swatches",
"role": "guide",
"zIndex": 40,
"glyphs": 3
},
{
"id": "pipeline_region_legend_guide-labels",
"role": "guide",
"zIndex": 41,
"glyphs": 3
},
{
"id": "pipeline_region_legend_guide-title",
"role": "guide",
"zIndex": 42,
"glyphs": 1
}
]
}Glyph Data Tree
Full parameter lineage for the active compiler surface.
create_chart_surface
pipeline_view_layout_surface
pipeline_plot_layout_surface
pipeline_radar_rings_layer
pipeline_radar_axes_layer
pipeline_ring_labels_layer
pipeline_axis_labels_layer
pipeline_radar_areas_layer
pipeline_radar_points_layer
pipeline_region_legend_guide-swatches
pipeline_region_legend_guide-labels
pipeline_region_legend_guide-title
Glyph Inspector
Select a glyph in the chart to inspect resolved params and lineage.