Skip to content

Chart Types

Graphic Walker supports a variety of chart types through its geoms configuration. Each geometry type maps data to a different visual representation.

Generic Charts

These charts use the default 'generic' coordinate system.

Geom TypeNameBest For
'bar'Bar ChartComparing categories, showing distributions
'line'Line ChartTrends over time, continuous data
'area'Area ChartCumulative totals, part-to-whole over time
'point'Scatter PlotCorrelations between two measures
'circle'Circle PlotSame as scatter but with filled circles
'tick'Tick PlotDistribution of values along an axis
'rect'HeatmapTwo-dimensional distributions, density
'arc'Pie / Donut ChartPart-to-whole proportions
'boxplot'Box PlotStatistical distributions (quartiles, outliers)
'table'Data TableRaw data display within the chart view

Geographic Charts

These charts require coordSystem: 'geographic'.

Geom TypeNameBest For
'poi'Point MapLocation-based data points
'choropleth'Choropleth MapRegional comparisons using colored areas

Visual Encoding Channels

Each chart type uses visual encoding channels to map data fields to visual properties:

ChannelDescriptionApplicable Types
columnsX-axis positionAll generic charts
rowsY-axis positionAll generic charts
colorColor hueAll charts
opacityTransparencyAll charts
sizeElement sizepoint, circle
shapeElement shapepoint
thetaAnglearc (pie/donut)
radiusRadiusarc (donut hole)
longitudeMap longitudepoi
latitudeMap latitudepoi
geoIdGeographic region IDchoropleth
detailsDetail grouping (no visual encoding)All charts
textText labelsAll charts
filtersRow-level filteringAll charts

Aggregation

When defaultAggregated is true (the default), measure fields are aggregated automatically. Available aggregation functions:

AggregatorDescription
sumSum of values
meanArithmetic mean
countNumber of records
minMinimum value
maxMaximum value
medianMedian value
varianceStatistical variance
stdevStandard deviation
distinctCountCount of unique values

Stack Modes

Stack modes control how overlapping marks are arranged. Set via layout.stack:

ModeDescription
'none'No stacking — marks overlap
'stack'Stack marks on top of each other
'normalize'Stack and normalize to 100%
'zero'Stack from zero baseline
'center'Stack centered (streamgraph)

Faceting

Split a visualization into multiple panels by placing dimension fields in rows or columns alongside measure fields. Graphic Walker automatically creates a faceted (small multiples) layout.

For example, placing Region in columns and Sales in rows with Month also in columns creates a row of charts — one per region — each showing sales over time.

Size Modes

Control chart sizing via layout.size.mode:

ModeBehavior
'auto'Automatically sized based on content
'fixed'Uses the specified width and height values
'full'Fills the parent container

Configuration Example

const chart: IChart = {
  visId: 'example',
  name: 'Sales Trend',
  encodings: {
    dimensions: [],
    measures: [],
    rows: [{ fid: 'sales', name: 'Sales', analyticType: 'measure', semanticType: 'quantitative' }],
    columns: [{ fid: 'month', name: 'Month', analyticType: 'dimension', semanticType: 'temporal' }],
    color: [{ fid: 'region', name: 'Region', analyticType: 'dimension', semanticType: 'nominal' }],
    opacity: [],
    size: [],
    shape: [],
    theta: [],
    radius: [],
    longitude: [],
    latitude: [],
    geoId: [],
    details: [],
    filters: [],
    text: [],
  },
  config: {
    defaultAggregated: true,
    geoms: ['line'],
    coordSystem: 'generic',
    limit: -1,
  },
  layout: {
    showTableSummary: false,
    stack: 'none',
    showActions: false,
    interactiveScale: true,
    zeroScale: true,
    size: { mode: 'auto', width: 800, height: 400 },
    format: {},
    resolve: {},
  },
};