← Writings

Editor Chart Registry

A chart editor should not treat every visualization as a one-off. This registry defines the chart families, their primitive systems, required encodings, supported data shapes, and editor capabilities.

1. Recommended First Phase

Bar ChartLine ChartArea ChartScatter PlotHeatmapPie / DonutTableChoropleth MapSymbol MapKPI / Stat Card

2. Primitive Families

cartesian

11 chart types

Bar ChartLine ChartArea ChartScatter PlotHistogramBox PlotViolin PlotHeatmapWaterfallTimeline / GanttCalendar Heatmap

polar

2 chart types

Pie / DonutRadar Chart

hierarchy

3 chart types

TreemapSunburstTree / Dendrogram

flow

2 chart types

SankeyChord Diagram

network

1 chart type

Network Graph

geo

3 chart types

Choropleth MapSymbol MapFlow Map

single-value

3 chart types

FunnelBullet ChartKPI / Stat Card

tabular

1 chart type

Table

annotation

1 chart type

Text / Annotation

3. Registry

Bar Chart

cartesiancomparison

Compare magnitudes across categories with optional grouping and stacking.

Data Shapes
categorical-seriestime-series
Capabilities
axeslegendgridstackinggroupingfacetingsmall-multiplessortingreference-linestooltips
Variants
verticalhorizontalgroupedstacked100% stacked
Required Encodings
x *
Category or time bucket
y *
Quantitative value
color
Series grouping or stack segment

Line Chart

cartesianrelationship

Show change and trends across ordered values or time.

Data Shapes
time-seriescategorical-series
Capabilities
axeslegendgridfacetingsmall-multiplestrendlineannotationstooltipsreference-lines
Variants
single-seriesmulti-seriesstepspline
Required Encodings
x *
Ordered dimension, usually time
y *
Quantitative value
color
Series separation

Area Chart

cartesiancomposition

Emphasize cumulative magnitude over an ordered domain.

Data Shapes
time-seriescategorical-series
Capabilities
axeslegendgridstackingfacetingsmall-multiplestooltips
Variants
single-areastacked-areastreamgraphrange-area
Required Encodings
x *
Ordered dimension
y *
Quantitative value
color
Series grouping

Scatter Plot

cartesianrelationship

Compare two quantitative variables and expose clusters or outliers.

Data Shapes
categorical-seriespoint-coordinates
Capabilities
axeslegendgridfacetingsmall-multiplestrendlineannotationstooltipszoom-pan
Variants
dot-plotbubble-chartlabeled-scatter
Required Encodings
x *
First quantitative variable
y *
Second quantitative variable
size
Bubble size
color
Category grouping

Histogram

cartesiandistribution

Summarize the distribution of a quantitative variable across bins.

Data Shapes
quantitative-distribution
Capabilities
axesgridannotationstooltipsreference-lines
Variants
countdensitynormalized
Required Encodings
x *
Numeric field to bin
y
Computed count or density

Box Plot

cartesiandistribution

Reveal quartiles, spread, and outliers for grouped distributions.

Data Shapes
quantitative-distributioncategorical-series
Capabilities
axeslegendgridgroupingfacetingsmall-multiplestooltips
Variants
standardgroupedhorizontal
Required Encodings
x *
Category grouping
y *
Quantitative distribution field
color
Series grouping

Violin Plot

cartesiandistribution

Show the shape of a distribution with a smoothed density silhouette.

Data Shapes
quantitative-distributioncategorical-series
Capabilities
axeslegendgridfacetingsmall-multiplestooltips
Variants
singlesplitgrouped
Required Encodings
x *
Category grouping
y *
Quantitative distribution field
color
Series grouping

Heatmap

cartesiancomparison

Encode intensity or counts across a two-dimensional matrix.

Data Shapes
matrix
Capabilities
axeslegendgridannotationssortingtooltips
Variants
standardclusteredcalendar
Required Encodings
x *
Column dimension
y *
Row dimension
color *
Intensity or count value

Table

tabularsummary

Display structured records with optional sorting and conditional formatting.

Data Shapes
table
Capabilities
sortingannotationstooltips
Variants
simplerankedconditional-format
Required Encodings
columns *
Visible fields and order

Treemap

hierarchyhierarchy

Partition nested totals into area-proportional rectangles.

Data Shapes
hierarchical
Capabilities
legendannotationszoom-pantooltips
Variants
nestedflat-grouped
Required Encodings
parent *
Parent grouping field
label *
Node label
size *
Area-driving value
color
Secondary quantitative or categorical encoding

Sunburst

hierarchyhierarchy

Show hierarchical composition in radial rings.

Data Shapes
hierarchical
Capabilities
legendannotationszoom-pantooltips
Variants
standarddrilldown
Required Encodings
parent *
Parent grouping field
label *
Node label
size *
Arc span value
color
Category or metric

Pie / Donut

polarcomposition

Show parts of a whole in radial slices.

Data Shapes
categorical-series
Capabilities
legendannotationstooltips
Variants
piedonutnested-donut
Required Encodings
theta *
Slice value
color *
Slice category
label
Displayed label

Radar Chart

polarcomparison

Compare several dimensions across one or more profiles.

Data Shapes
categorical-series
Capabilities
legendgridannotationstooltips
Variants
filledoutlinedmulti-series
Required Encodings
angle *
Dimension or metric name
radius *
Metric magnitude
color
Series grouping

Funnel

single-valuesummary

Show drop-off between sequential stages.

Data Shapes
categorical-series
Capabilities
annotationssortingtooltips
Variants
standardcenteredconversion-rate
Required Encodings
stage *
Sequential funnel step
value *
Count or rate at the stage
color
Stage emphasis

Waterfall

cartesiancomposition

Explain how increments and decrements produce a final total.

Data Shapes
categorical-series
Capabilities
axesgridannotationsreference-linestooltips
Variants
standardbridge
Required Encodings
x *
Step or category
y *
Delta value
color
Increase, decrease, total

Bullet Chart

single-valuesummary

Compare a measure against target and qualitative ranges.

Data Shapes
single-valuecategorical-series
Capabilities
annotationsreference-linestooltips
Variants
horizontalvertical
Required Encodings
value *
Actual measure
target *
Benchmark or goal
ranges
Qualitative background bands

Sankey

flowflow

Show how quantities move between stages or categories.

Data Shapes
source-target
Capabilities
legendannotationsedge-routingtooltips
Variants
left-rightcentered
Required Encodings
source *
Origin node
target *
Destination node
value *
Flow magnitude
color
Node or link grouping

Chord Diagram

flowflow

Show many-to-many flows between groups in a circular layout.

Data Shapes
matrixsource-target
Capabilities
legendannotationstooltips
Variants
standard
Required Encodings
source *
Origin group
target *
Destination group
value *
Connection magnitude
color
Group identity

Network Graph

networkrelationship

Display nodes and edges for dependency, social, or organizational graphs.

Data Shapes
node-edge
Capabilities
legendannotationszoom-pannode-sizingedge-routingtooltips
Variants
force-directedradialhierarchical
Required Encodings
node-id *
Unique node identifier
source *
Edge source
target *
Edge target
size
Node size metric
color
Node or community grouping

Tree / Dendrogram

hierarchyhierarchy

Show parent-child depth and branching structure.

Data Shapes
hierarchical
Capabilities
annotationszoom-pantooltips
Variants
treeclusterradial
Required Encodings
parent *
Parent grouping or ID
label *
Node label
value
Optional node metric

Timeline / Gantt

cartesiansummary

Map intervals, milestones, or task schedules across time.

Data Shapes
time-seriescategorical-series
Capabilities
axeslegendgridannotationstooltipszoom-pan
Variants
ganttmilestoneevent-timeline
Required Encodings
start *
Interval start
end *
Interval end
row *
Track or entity row
color
Status or category

Calendar Heatmap

cartesiandistribution

Show daily or weekly intensity across a calendar layout.

Data Shapes
time-series
Capabilities
legendannotationstooltips
Variants
dailyweekly
Required Encodings
date *
Daily date field
color *
Intensity value

Choropleth Map

geogeospatial

Fill geographic regions based on a joined quantitative or categorical field.

Data Shapes
geo-features
Capabilities
legendprojectiondata-joinannotationstooltipszoom-pan
Variants
countrystatecountycustom-geojson
Required Encodings
geometry *
Region geometries
color *
Joined metric or category
join-key *
Tabular to geometry join field

Symbol Map

geogeospatial

Place markers on geography using coordinates or centroids.

Data Shapes
point-coordinatesgeo-features
Capabilities
legendprojectionclusteringannotationstooltipszoom-pan
Variants
bubbledot-densityproportional-symbol
Required Encodings
latitude *
Point latitude
longitude *
Point longitude
size
Marker size metric
color
Marker grouping or metric

Flow Map

geogeospatial

Draw directional movement between places on a map.

Data Shapes
source-targetpoint-coordinates
Capabilities
legendprojectionedge-routingannotationstooltipszoom-pan
Variants
straight-linecurvedbundled
Required Encodings
source *
Origin coordinate or place ID
target *
Destination coordinate or place ID
value *
Flow magnitude
color
Flow grouping or direction

KPI / Stat Card

single-valuesummary

Highlight a single metric with optional delta and trend.

Data Shapes
single-value
Capabilities
annotationsreference-lines
Variants
single-statdelta-cardsparkline-card
Required Encodings
value *
Primary measure
delta
Change indicator
sparkline
Mini trend series

Text / Annotation

annotationsummary

Add narrative callouts, labels, and explanatory overlays.

Data Shapes
single-valuetable
Capabilities
annotations
Variants
calloutlabelnote
Required Encodings
text *
Annotation copy
x
Anchor position
y
Anchor position