Chart Compiler Gallery
ChartSpec data compiles into resolved scales, layer specs, glyph definitions, scene graph nodes, and a single SVG renderer.
Population Pyramid
Rebuilds the population pyramid with diverging-bar layout rows and symmetric horizontal intervals.
Data Sources
6
Fields
21
Scales
3
Layers
11
Glyphs
60
rect 41 / line 10 / text 9
Build Path
This example is rebuilt from gallery data source age-population by recipe populationPyramid: 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.populationPyramid",
"data": [
{
"id": "source_gallery_populationpyramid",
"rows": 18
},
{
"id": "source_pyramid_segments",
"rows": 36
},
{
"id": "__guide.pipeline_xgrid_guide",
"rows": 5
},
{
"id": "__guide.pipeline_xaxis_guide",
"rows": 5
},
{
"id": "__guide.pipeline_colorlegend_guide",
"rows": 2
},
{
"id": "__guide.pipeline_colorlegend_guide.title",
"rows": 1
}
],
"transforms": [
{
"id": "pipeline_diverging_bar_layout_transform",
"type": "layout",
"input": "source_gallery_populationpyramid",
"output": "source_pyramid_segments",
"options": {
"count": 1,
"errorMethod": "standardError",
"fit": "contain",
"groupBy": [
"agegroup"
],
"includeMax": true,
"leftField": "male",
"leftLabel": "male",
"layout": "pipeline_male_and_female_diverging_bars_panel_layout",
"layoutKind": "divergingBars",
"layoutMode": "proportionalAngle",
"mode": "normal",
"order": [],
"rightField": "female",
"rightLabel": "female"
}
}
],
"axes": [
{
"id": "pipeline_xaxis_guide",
"scale": "pipeline_signedvalue_x_x_scale",
"orientation": "bottom"
}
],
"grids": [
{
"id": "pipeline_xgrid_guide",
"scale": "pipeline_signedvalue_x_x_scale",
"orientation": "x"
}
],
"legends": [
{
"id": "pipeline_colorlegend_guide",
"scale": "pipeline_side_color_color_scale",
"kind": "color",
"title": "Population"
}
],
"fields": [
"__rowLabel",
"male",
"female",
"id",
"agegroup",
"direction",
"end",
"formatted",
"side",
"signedValue",
"start",
"tooltip",
"value",
"label",
"x",
"y",
"symbolX",
"symbolY",
"labelX",
"labelY",
"text"
],
"scales": [
{
"id": "pipeline_signedvalue_x_x_scale",
"type": "linear",
"domain": {
"source": "field",
"data": "source_pyramid_segments",
"field": "signedValue",
"fields": [
"start",
"end",
"signedValue"
],
"includeZero": true,
"order": "input",
"reverse": false,
"symmetric": true
}
},
{
"id": "pipeline_agegroup_y_y_scale",
"type": "band",
"domain": {
"source": "field",
"data": "source_pyramid_segments",
"field": "agegroup",
"fields": [],
"includeZero": false,
"order": "input",
"reverse": false,
"symmetric": false
}
},
{
"id": "pipeline_side_color_color_scale",
"type": "ordinal",
"domain": {
"source": "field",
"data": "source_pyramid_segments",
"field": "side",
"fields": [],
"includeZero": false,
"order": "input",
"reverse": false,
"symmetric": false
}
}
],
"layers": [
{
"id": "pipeline_xgrid_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_colorlegend_guide-swatches",
"mark": "rect",
"role": "guide"
},
{
"id": "pipeline_colorlegend_guide-labels",
"mark": "text",
"role": "guide"
},
{
"id": "pipeline_colorlegend_guide-title",
"mark": "text",
"role": "guide"
},
{
"id": "create_chart_surface",
"mark": "rect",
"role": "context"
},
{
"id": "pipeline_male_and_female_diverging_bars_panel_layout_surface",
"mark": "rect",
"role": "context"
},
{
"id": "pipeline_male_and_female_diverging_bars_panel_layout_frame",
"mark": "rect",
"role": "guide"
},
{
"id": "pipeline_male_and_female_diverging_bars_panel_layout_label",
"mark": "text",
"role": "guide"
},
{
"id": "pipeline_male_and_female_diverging_bars_segments_layer",
"mark": "rect",
"role": "data"
}
]
}Resolved SceneGraph
{
"scene": "gallery.populationPyramid.scene",
"scales": [
{
"id": "pipeline_signedvalue_x_x_scale",
"type": "linear",
"domain": [
-2,
2
],
"range": [
72,
718
],
"ticks": [
-2,
-1,
0,
1,
2
]
},
{
"id": "pipeline_agegroup_y_y_scale",
"type": "band",
"domain": [
"85+",
"80-84",
"75-79",
"70-74",
"65-69",
"60-64",
"55-59",
"50-54",
"45-49",
"40-44",
"35-39",
"30-34",
"25-29",
"20-24",
"15-19",
"10-14",
"5-9",
"0-4"
],
"range": [
386,
42
],
"bandwidth": 17.2
},
{
"id": "pipeline_side_color_color_scale",
"type": "ordinal",
"domain": [
"male",
"female"
],
"range": [
"var(--colors-blue-9)",
"var(--colors-orange-9)",
"var(--colors-green-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": 5
},
{
"id": "pipeline_male_and_female_diverging_bars_panel_layout_surface",
"role": "context",
"zIndex": 0,
"glyphs": 1
},
{
"id": "pipeline_male_and_female_diverging_bars_panel_layout_frame",
"role": "guide",
"zIndex": 1,
"glyphs": 1
},
{
"id": "pipeline_male_and_female_diverging_bars_panel_layout_label",
"role": "guide",
"zIndex": 2,
"glyphs": 1
},
{
"id": "pipeline_xaxis_guide-tick-marks",
"role": "guide",
"zIndex": 5,
"glyphs": 5
},
{
"id": "pipeline_xaxis_guide-labels",
"role": "guide",
"zIndex": 20,
"glyphs": 5
},
{
"id": "pipeline_male_and_female_diverging_bars_segments_layer",
"role": "data",
"zIndex": 20,
"glyphs": 36
},
{
"id": "pipeline_colorlegend_guide-swatches",
"role": "guide",
"zIndex": 40,
"glyphs": 2
},
{
"id": "pipeline_colorlegend_guide-labels",
"role": "guide",
"zIndex": 41,
"glyphs": 2
},
{
"id": "pipeline_colorlegend_guide-title",
"role": "guide",
"zIndex": 42,
"glyphs": 1
}
]
}Glyph Data Tree
Full parameter lineage for the active compiler surface.
create_chart_surface
pipeline_xgrid_guide
pipeline_male_and_female_diverging_bars_panel_layout_surface
pipeline_male_and_female_diverging_bars_panel_layout_frame
pipeline_male_and_female_diverging_bars_panel_layout_label
pipeline_xaxis_guide-tick-marks
pipeline_xaxis_guide-labels
pipeline_male_and_female_diverging_bars_segments_layer
pipeline_colorlegend_guide-swatches
pipeline_colorlegend_guide-labels
pipeline_colorlegend_guide-title
Glyph Inspector
Select a glyph in the chart to inspect resolved params and lineage.