Reference
Chart Types
Every chart type in the DuckViz widget registry, grouped by family.
DuckViz ships 80+ chart type strings mapped to ~50 D3 chart components across 15 families. The AI widget pipeline picks types based on your data domain and column shapes; you can also request a specific type from the chat prompt, or render one directly via @duckviz/widgets's WidgetRenderer + getChartComponent().
Every chart reads standardized column aliases from your SQL output — see the Column alias contract below.
| Type string | Component | Description |
|---|
bar | BarChart | Vertical bar chart — categories on X, values on Y |
horizontal-bar | HorizontalBarChart | Categories on Y, bars extending right |
grouped-bar | GroupedBarChart | Side-by-side bars per series |
stacked-bar | StackedBarChart | Stacked composition per category |
stacked-horizontal-bar | StackedHorizontalBarChart | Horizontal stacked bars |
diverging-bar | DivergingBarChart | Bars extending both sides of a centre |
radial-bar | BarChart (radial preset) | Bars wrapped around a circle |
radial-stacked-bar | RadialStackedBarChart | Radial stacked bars |
lollipop | LollipopChart | Thin line + dot per category |
bullet | BulletChart | Actual vs target |
The line, multi-line, step-line, curve-line, area, and stacked-area type strings all route to a shared TimeseriesChart component with different modes — unified tooltips, smart tick culling, negative-value handling.
| Type string | Component | Description |
|---|
line | TimeseriesChart | Single line / time series |
multi-line | TimeseriesChart | Several lines, one per series |
step-line | TimeseriesChart | Step interpolation |
curve-line | TimeseriesChart | Monotone-curve interpolation |
area | TimeseriesChart | Filled area under line |
stacked-area | TimeseriesChart | Stacked composition over time |
streamgraph | StreamgraphChart | Symmetric stacked area |
difference | DifferenceChart | Highlighted area between two lines |
bump / bump-chart | BumpChart | Ranking changes over time |
span / span-chart / range-chart | SpanChart | Min–max range per category |
| Type string | Component | Description |
|---|
pie | PieChart | Standard pie |
donut | DonutChart | Pie with a hole |
waffle / waffle-chart | WaffleChart | 100-square grid proportion |
| Type string | Component | Description |
|---|
scatter / connected-scatter | ScatterChart | XY scatter, optionally connected |
bubble | BubbleChart | Sized circles (row cap: 500) |
hexbin / hexbin-chart | HexbinChart | Hex binning for dense scatter |
contour / contour-chart / density-contour | ContourChart | Density contours (row cap: 5000) |
| Type string | Component | Description |
|---|
histogram / density | HistogramChart | Frequency distribution |
box-plot | BoxPlotChart | Quartiles + outliers |
violin | ViolinChart | Rotated KDE |
ridgeline / joy-plot | RidgelineChart | Overlapping KDEs |
| Type string | Component | Description |
|---|
heatmap | HeatmapChart | X × Y × value grid (row cap: 2000) |
correlogram | HeatmapChart | Correlation matrix preset |
calendar-heatmap | HeatmapChart | GitHub-style daily grid |
| Type string | Component | Description |
|---|
treemap / icicle / partition | TreemapChart | Rectangles sized by value |
sunburst | SunburstChart | Concentric radial hierarchy |
circle-packing | CirclePackingChart | Nested circles (row cap: 500) |
tidy-tree | TidyTreeChart | Tidy-tree node-link diagram |
| Type string | Component | Description |
|---|
force-graph | ForceGraphChart | Physics-based node-link |
sankey | SankeyChart | Flow between stages |
chord | ChordChart | Chord diagram |
arc-diagram | ArcDiagramChart | Nodes on an axis, arcs above |
| Type string | Component | Description |
|---|
radar / polar / radial-line / radial-area | RadarChart | Multi-axis spider chart |
gauge | GaugeChart | Single-value gauge |
| Type string | Component | Description |
|---|
funnel | FunnelChart | Stage conversion funnel |
waterfall | WaterfallChart | Running total across positive/negative deltas |
big-number | BigNumberChart | Single KPI with optional delta/sparkline |
candlestick / ohlc | CandlestickChart | Financial OHLC |
gantt | GanttChart | Task schedule |
timeline | TimelineChart | Event timeline |
dumbbell | DumbbellChart | Before/after pair per row |
parallel-coordinates | ParallelCoordinatesChart | Multi-axis comparison (row cap: 1000) |
combination / category | CombinationChart | Mixed bar + line series |
| Type string | Component | Description |
|---|
geo-map | GeoMapChart | Choropleth + point map combined |
| Type string | Component | Description |
|---|
word-cloud | WordCloudChart | Word frequency |
table / data-table | DataTableChart | Tabular grid (row cap: 10 in dashboard) |
Each chart reads specific column names from the SQL output. The contract is the single source of truth: if the columns don't match, @duckviz/dashboard's alias validator rejects the widget at read time rather than rendering silently-empty.
| Pattern | Columns | Used by |
|---|
| Category/value | category, value | bar, line (category axis), area, pie, donut, treemap, word-cloud, gauge, big-number |
| XY | x, y | scatter, bubble, hexbin, contour |
| XY + value | x, y, value | heatmap, calendar-heatmap |
| Source/target | source, target, value | chord, sankey, force-graph, arc-diagram |
| Hierarchical | category, value, parent | treemap, sunburst, circle-packing, tidy-tree |
| Time series | category (date), value | line, area, stacked-area, timeseries |
| Multi-series | category, value, series | grouped-bar, stacked-bar, multi-line, stacked-area |
| OHLC | date, open, high, low, close | candlestick |
| Range | category, start, end | gantt, timeline, span |
| Multi-axis | category, value, axis1, axis2, … | parallel-coordinates, radar |
See @duckviz/widgets for CHART_REQUIRED_ALIASES + validateChartAliases().