Gantt Chart

Rebuilds the Gantt chart with interval rows, time/band scales, status color, bars, and legend.

Gantt Chart
Gallery Gantt Pipeline pipeline

Data Sources

7

Fields

22

Scales

3

Layers

12

Glyphs

37

rect 12 / line 10 / text 15

task timeline panel1,767,744,000,0001,770,336,000,0001,772,928,000,0001,775,520,000,000DiscoveryData auditCompiler gapsGallery updateVisual QADocumentationdiscovery Discoverydata-audit Data auditcompiler-gaps Compiler gapsgallery-update Gallery updatevisual-qa Visual QAdocumentation DocumentationDoneActiveQueuedstatus

Build Path

Gallery Gantt Pipeline

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

Pipeline recipe graph

10 pipelines
11 nodes
17 edges

Data Flow Diagram

0/418 nodes
0/725 edges
418 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

7 tables
1 transforms

Imported table

source_gallery_ganttchart
raw
8 columns
feeds pipeline_intervals_transform

ChartSpec

{
  "id": "gallery.ganttChart",
  "data": [
    {
      "id": "source_gallery_ganttchart",
      "rows": 6
    },
    {
      "id": "source_intervals",
      "rows": 6
    },
    {
      "id": "__guide.pipeline_ygrid_guide",
      "rows": 6
    },
    {
      "id": "__guide.pipeline_xaxis_guide",
      "rows": 4
    },
    {
      "id": "__guide.pipeline_yaxis_guide",
      "rows": 6
    },
    {
      "id": "__guide.pipeline_colorlegend_guide",
      "rows": 3
    },
    {
      "id": "__guide.pipeline_colorlegend_guide.title",
      "rows": 1
    }
  ],
  "transforms": [
    {
      "id": "pipeline_intervals_transform",
      "type": "interval",
      "input": "source_gallery_ganttchart",
      "output": "source_intervals",
      "options": {
        "count": 1,
        "endField": "enddate",
        "errorMethod": "standardError",
        "fit": "contain",
        "includeMax": true,
        "labelField": "task",
        "layoutKind": "",
        "layoutMode": "proportionalAngle",
        "mode": "normal",
        "order": [],
        "startField": "startdate"
      }
    }
  ],
  "axes": [
    {
      "id": "pipeline_xaxis_guide",
      "scale": "pipeline_start_x_x_scale",
      "orientation": "bottom"
    },
    {
      "id": "pipeline_yaxis_guide",
      "scale": "pipeline_task_y_y_scale",
      "orientation": "left"
    }
  ],
  "grids": [
    {
      "id": "pipeline_ygrid_guide",
      "scale": "pipeline_task_y_y_scale",
      "orientation": "y"
    }
  ],
  "legends": [
    {
      "id": "pipeline_colorlegend_guide",
      "scale": "pipeline_status_color_color_scale",
      "kind": "color",
      "title": "status"
    }
  ],
  "fields": [
    "__rowLabel",
    "id",
    "task",
    "phase",
    "startdate",
    "enddate",
    "status",
    "center",
    "duration",
    "durationLabel",
    "end",
    "start",
    "tooltip",
    "value",
    "label",
    "x",
    "y",
    "symbolX",
    "symbolY",
    "labelX",
    "labelY",
    "text"
  ],
  "scales": [
    {
      "id": "pipeline_start_x_x_scale",
      "type": "time",
      "domain": {
        "source": "field",
        "data": "source_intervals",
        "field": "start",
        "fields": [
          "start",
          "end"
        ],
        "includeZero": false,
        "order": "input",
        "reverse": false,
        "symmetric": false
      }
    },
    {
      "id": "pipeline_task_y_y_scale",
      "type": "band",
      "domain": {
        "source": "field",
        "data": "source_intervals",
        "field": "task",
        "fields": [],
        "includeZero": false,
        "order": "input",
        "reverse": false,
        "symmetric": false
      }
    },
    {
      "id": "pipeline_status_color_color_scale",
      "type": "ordinal",
      "domain": {
        "source": "field",
        "data": "source_intervals",
        "field": "status",
        "fields": [],
        "includeZero": false,
        "order": "input",
        "reverse": false,
        "symmetric": false
      }
    }
  ],
  "layers": [
    {
      "id": "pipeline_ygrid_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_yaxis_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_task_timeline_panel_layout_surface",
      "mark": "rect",
      "role": "context"
    },
    {
      "id": "pipeline_task_timeline_panel_layout_frame",
      "mark": "rect",
      "role": "guide"
    },
    {
      "id": "pipeline_task_timeline_panel_layout_label",
      "mark": "text",
      "role": "guide"
    },
    {
      "id": "pipeline_task_timeline_bars_layer",
      "mark": "rect",
      "role": "data"
    }
  ]
}

Resolved SceneGraph

{
  "scene": "gallery.ganttChart.scene",
  "scales": [
    {
      "id": "pipeline_start_x_x_scale",
      "type": "time",
      "domain": [
        "2026-01-05",
        "2026-03-31"
      ],
      "range": [
        118,
        726
      ],
      "ticks": [
        1767744000000,
        1770336000000,
        1772928000000,
        1775520000000
      ]
    },
    {
      "id": "pipeline_task_y_y_scale",
      "type": "band",
      "domain": [
        "Discovery",
        "Data audit",
        "Compiler gaps",
        "Gallery update",
        "Visual QA",
        "Documentation"
      ],
      "range": [
        400,
        70
      ],
      "bandwidth": 49.5
    },
    {
      "id": "pipeline_status_color_color_scale",
      "type": "ordinal",
      "domain": [
        "Done",
        "Active",
        "Queued"
      ],
      "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_ygrid_guide",
      "role": "guide",
      "zIndex": 0,
      "glyphs": 6
    },
    {
      "id": "pipeline_task_timeline_panel_layout_surface",
      "role": "context",
      "zIndex": 0,
      "glyphs": 1
    },
    {
      "id": "pipeline_task_timeline_panel_layout_frame",
      "role": "guide",
      "zIndex": 1,
      "glyphs": 1
    },
    {
      "id": "pipeline_task_timeline_panel_layout_label",
      "role": "guide",
      "zIndex": 2,
      "glyphs": 1
    },
    {
      "id": "pipeline_xaxis_guide-tick-marks",
      "role": "guide",
      "zIndex": 5,
      "glyphs": 4
    },
    {
      "id": "pipeline_xaxis_guide-labels",
      "role": "guide",
      "zIndex": 20,
      "glyphs": 4
    },
    {
      "id": "pipeline_yaxis_guide-labels",
      "role": "guide",
      "zIndex": 20,
      "glyphs": 6
    },
    {
      "id": "pipeline_task_timeline_bars_layer",
      "role": "data",
      "zIndex": 20,
      "glyphs": 6
    },
    {
      "id": "pipeline_colorlegend_guide-swatches",
      "role": "guide",
      "zIndex": 40,
      "glyphs": 3
    },
    {
      "id": "pipeline_colorlegend_guide-labels",
      "role": "guide",
      "zIndex": 41,
      "glyphs": 3
    },
    {
      "id": "pipeline_colorlegend_guide-title",
      "role": "guide",
      "zIndex": 42,
      "glyphs": 1
    }
  ]
}

Glyph Data Tree

12 layers

Full parameter lineage for the active compiler surface.

create_chart_surface

1

pipeline_ygrid_guide

6

pipeline_task_timeline_panel_layout_surface

1

pipeline_task_timeline_panel_layout_frame

1

pipeline_task_timeline_panel_layout_label

1

pipeline_xaxis_guide-tick-marks

4

pipeline_xaxis_guide-labels

4

pipeline_yaxis_guide-labels

6

pipeline_task_timeline_bars_layer

6

pipeline_colorlegend_guide-swatches

3

pipeline_colorlegend_guide-labels

3

pipeline_colorlegend_guide-title

1

Glyph Inspector

none

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