Chart Kind Gallery

A per-kind reference for all ~56 chart kinds: what each one shows, the data fields it needs, and one line on when to reach for it.

14 min read

On this page

This is the encyclopedia entry for every chart kind BankSync can draw. The Chart Kind Catalog groups kinds by the question they answer and helps you choose one. This page goes one level deeper: for each kind it tells you what it shows, which fields it needs (its channels), and what it is good for. Use it when a kind is not behaving the way you expect, or when you want to know exactly what data a kind wants before you bind it.

A channel is a slot a chart binds a field into. A bar chart, for example, has an X-axis channel (the category) and a Y-axis channel (the number). Different kinds have different channels, which is why the controls in the inspector change when you switch kinds. The rest of this page is organized by family: kinds in the same family share the same channels and behave the same way, so once you learn one kind in a family you know them all.

Two numbers to keep straight

BankSync renders 56 chart kinds today, grouped into 13 families. You will reach for maybe eight of them day to day (line, bar, column, pie, donut, scatter, heatmap, gauge). The rest are here for when a standard chart can't say what you need. If you just want to pick a kind and move on, start at the Chart Kind Catalog instead; come back here for the details.
The chart-kind picker showing the full sample catalog (line, area, bar, donut, pie, treemap, box plot, heatmap, gauge, KPI, table) grouped by family with a search box at the top.
The chart picker shows every kind grouped by family. This page documents each one.

How to read this page#

Each family has a short table. The columns are:

  • Kind: the name you see in the picker.
  • What it shows: the picture it draws.
  • Needs: the fields you must bind (the required channels). Optional channels are noted in the family intro, not the table.
  • Good for: the one situation it is built for.

Why the inspector controls change between kinds

The inspector builds its binding chips from the kind's channels, not from a fixed Group-by/Value/Series set. Pick a bar and you get an X-axis and a Y-axis chip. Switch to a sankey and those become Source, Target, and Value. Switch to a gauge and only a single Value chip remains. This is expected: each family below lists exactly which chips you will see.

A worked example: reading one row#

Say you bind a sankey (in the Flow family). Its row reads:

  • Needs: Source (a category), Target (a category), Value (a number).
  • What it shows: ribbons flowing from each source to each target, with ribbon thickness set by the value.
  • Good for: showing how money moves between accounts or from income into spending categories.

So to build "money flow between accounts" you bind your from-account field to Source, your to-account field to Target, and the amount to Value. The chart sums the amount for every repeated from/to pair, so duplicate transfers between the same two accounts merge into one thick ribbon. That summing behavior is covered in Does this kind add up my rows? at the end.

Cartesian: lines, bars, and areas on an x/y plane#

The largest family. Every kind here plots a category or date on the X axis and a number on the Y axis, with two optional extra slots: Series (split one line or bar into several, one per value) and Color. These are the everyday workhorses.

KindWhat it showsNeedsGood for
LineA connected line through the pointsX (date/category) + Y (number)A value over time, like balance or daily spend
AreaA line with the area below it filledX + YEmphasizing volume under a trend
Stacked areaSeveral filled series stacked into a totalX + Y (+ Series)A total and its changing mix over time
StreamA flowing, center-aligned stacked areaX + Y (+ Series)Shifting mixes where the total matters less than the shape
Step lineA line that holds flat then jumpsX + YValues that change in steps, like a balance after each transaction
SparklineA tiny line with no axesX + YA trend tucked inside a KPI or a tight cell
BarHorizontal bars per categoryX (category) + YComparing a value across categories
ColumnVertical bars per categoryX + YThe same comparison, drawn upright
Grouped barBars sitting side by side per categoryX + Y (+ Color)Comparing several measures within each category
Stacked barBars stacked into a per-category totalX + Y (+ Color)A category's total and its parts
100% stacked barStacked bars normalized to full heightX + Y (+ Color)Comparing the mix across categories, ignoring totals
LollipopA dot on a thin stalk per categoryX + YA lighter bar for ranked values
DotA single dot per category, no stalkX + YA minimal ranked comparison
BulletA bar against a target markerX + YA value against a goal or threshold
MosaicTiled blocks sized by valueX + YProportions shown as a block layout
NightingaleBars drawn around a center (a rose chart)X + YA circular take on category comparison
Radial barBars curved around a ringX + YA compact circular ranking
PolarBars or points on polar coordinatesX + YA round comparison where angle carries meaning
Circular barBars arranged on a circular baselineX + YA decorative circular ranking

Scatter: relationships between two numbers#

Both axes here are numbers, not categories. Two optional slots add a third and fourth dimension: Size (a bubble) and Color.

KindWhat it showsNeedsGood for
ScatterOne dot per row, placed by two numbersX (number) + Y (number)Whether two measures move together
BubbleA scatter where dot size is a third numberX + Y (+ Size)Three measures at once
HexbinA scatter summarized into hexagonal bins by densityX + YVery dense point clouds where individual dots overlap
ContourA scatter summarized into density bandsX + YThe shape of where points cluster

Distribution: how values are spread out#

These take a Value (a number) and optionally a Category to split by. They summarize the spread internally, so you do not bind a separate total.

KindWhat it showsNeedsGood for
Box plotA box for the middle, whiskers for the range, dots for outliersValue (+ optional Category)The spread and outliers per category
ViolinA smooth curve showing where values clusterValue (+ optional Category)The shape of a distribution per category
RidgelineSeveral distribution curves stackedValue (+ optional Category)Comparing the shape of many groups
StripEvery value as a dot on a lineValue (+ optional Category)Seeing each individual value
BeeswarmDots packed apart so none overlapValue (+ optional Category)Every value, spread for readability
JitterDots nudged off a single lineValue (+ optional Category)Individual values that would otherwise stack

Histogram: how often values fall in each range#

Bin a single number and count how many rows land in each bin. There is one channel: the value to bin.

KindWhat it showsNeedsGood for
HistogramBars counting rows in each value rangeValue (number)How often values fall in each band, like transaction sizes
DensityA smoothed histogram curveValue (number)The same shape without hard bin edges

Part of a whole: slices of a total#

These need a Category to slice by and a Value for each slice's size. Pie and Donut are the everyday choices; the rest are stylistic.

KindWhat it showsNeedsGood for
PieA circle split into slicesCategory + ValueA few categories' share of a total
DonutA pie with a hollow centerCategory + ValueThe same, with room for a centered total
FunnelStages that narrow top to bottomCategory + ValueA drop-off through ordered stages
PyramidA funnel drawn as a triangleCategory + ValueStage sizes shown as a pyramid
WaffleA grid of squares filled by shareCategory + ValueProportions as countable tiles

Hierarchical: nested shares#

These read a Category and a Value and nest the categories into levels. The renderer reshapes your fields into a name/value/children structure for you.

KindWhat it showsNeedsGood for
TreemapNested rectangles sized by valueCategory + ValueCategory-then-subcategory shares in a compact block
SunburstNested rings sized by valueCategory + ValueThe same nesting drawn as a radial ring chart

Nesting deeper than one level

The everyday picker binds a single category for these. To nest several levels (category, then subcategory, then merchant) you shape a path in the Shape data step so each level becomes part of the hierarchy. With one category bound you get a single ring or one level of rectangles.

Flow: how amounts move between things#

These bind two categories, Source and Target, plus a Value for the magnitude. None of them use an axis.

KindWhat it showsNeedsGood for
SankeyRibbons flowing source to target, thickness by valueSource + Target + ValueMoney flowing between accounts or income into categories
ChordPairwise flows arranged around a circleSource + Target + ValueTwo-way relationships between a set of entities
AlluvialMulti-stage flow across ordered dimensionsSource + Target + ValueHow rows split and merge across several stages
NetworkA force-directed graph of connected nodesSource + Target (Value optional)A web of connections between entities
ArcNodes on one line joined by arcsSource + TargetConnections along a single axis

Matrix: intensity across two dimensions#

These bind an X category, a Y category, and a Value shown as color or dot size in a grid.

KindWhat it showsNeedsGood for
HeatmapA grid of cells colored by valueX + Y + ValueA value across two categories, as color intensity
Heatmap matrixThe same grid for a full matrix of categoriesX + Y + ValueComparing every row against every column
PunchcardA grid of dots sized by valueX + Y + ValueActivity by day and hour, like a busy-times chart

Calendar: a value per day#

One channel for the Date and one for the Value, laid out as a calendar.

KindWhat it showsNeedsGood for
Calendar heatmapOne colored cell per dayDate + ValueDaily activity over a year, like a contribution calendar

Radar: measures around a circle#

Binds an Axis category (one spoke per value), a Value, and an optional Series (one polygon per series).

KindWhat it showsNeedsGood for
RadarA polygon over several spokesAxis + Value (+ optional Series)Comparing several measures for one or a few items

Multi-dimension: many measures at once#

These read several numeric columns at once rather than one bound value. They expose only an optional Group color slot; the measures are read from the data's numeric columns (or from a column list you shape in the query).

KindWhat it showsNeedsGood for
Parallel coordinatesLines crossing several vertical scalesNumeric columns (+ optional Group)Comparing many measures across items
Correlation matrixA grid of how each measure relates to every otherNumeric columnsSpotting which measures move together

Financial: price movement#

These plot price over time. They bind a Date axis, and they read the price columns by fixed name: Open, High, Low, Close (named o/h/l/c). You shape those columns in the query rather than binding them as channels.

KindWhat it showsNeedsGood for
CandlestickOne candle per period (open/high/low/close)Date axis + Open/High/Low/Close columnsPrice movement for an investment over time
OHLCThe same data as tick barsDate axis + Open/High/Low/Close columnsA lighter price chart
Volume profileVolume traded at each price levelPrice level + Volume columnsWhere trading concentrated by price

Financial kinds need price columns

Candlestick, OHLC, and Volume profile only light up when your data has Open, High, Low, and Close columns. On plain transaction data they stay disabled with the message "needs Open/High/Low/Close fields". They are built for market or holdings data, not spending.

Single value: one number on a scale#

These show a single number, so they have just one Value channel and no axes. They are the simplest kinds to bind.

KindWhat it showsNeedsGood for
GaugeA needle on a banded arcValue (number)A number against a target or healthy range
MeterA linear bar against a targetValue (number)The same as a gauge, drawn as a bar
ProgressA fill showing value as a percent of maxValue (number)Progress toward a goal as a percentage
The gauge inspector for a savings-rate goal: a three-quarter arc shape, a percent unit, and green, amber, and red color bands marking the target ranges.
A gauge bound to a single value, with color bands marking on-track, warning, and off-track.

The single-number widgets (Gauge, Meter, Progress) overlap with the KPI widget, which also shows one figure but adds comparisons, sparklines, and number formatting. For a headline number with context, see KPI, table & gauge widgets.

What about column, KPI, and table?#

A few kinds you will use a lot are not in the families above:

  • Column (vertical bars) is the bar family drawn upright; bind it exactly like a bar.
  • KPI and Table are not chart kinds at all, they are their own widget types. KPI shows one headline number with comparison and a sparkline; Table shows formatted rows. Both have their own page: KPI, table & gauge widgets.

Does this kind add up my rows?#

Some kinds total your rows before plotting; others plot every row as-is. This is why a Sum setting changes a bar chart but does nothing on a histogram.

These kinds total rows per groupThese plot rows as-is or summarize internally
Cartesian (line, bar, area, and the rest)Scatter (one dot per row)
Part of a whole (pie, donut, funnel)Distribution (box plot, violin, beeswarm)
RadarHistogram and Density (they count and bin)
Matrix (heatmap, punchcard)Hierarchical (treemap, sunburst)
Calendar heatmapMulti-dimension (parallel coords)
Flow (sankey, chord), which sums repeated source/target pairsSingle value, Financial

For the kinds that total rows, the Binding data page covers the aggregate control (Sum, Average, Count, and so on) and the double-count warning that appears if your data was already totaled in the Shape data step. For the kinds that plot rows as-is, an aggregate setting has no effect, so you will not see one.

The less-common families (Flow, Hierarchical, Matrix) render exactly like the everyday ones once bound: a sankey or treemap sits in a normal widget cell on the canvas, draws from your live feed data, and resizes with the grid like any other chart.

Switching kinds keeps your fields#

Because kinds in the same family share channels, switching between them is a one-click change that keeps your bound fields. Line to area to column keeps the date and the number. Switching across families can drop fields the new kind has no slot for: a multi-series line moved to a pie (which has only a category and a value) loses its series split. Switch back and you re-bind it. See The Chart Kind Catalog for more on switching.

Some kinds still carry a Preview badge

The everyday kinds (line, area, bar, column, pie, donut, scatter, histogram) expose every styling control. Newer and more specialized kinds render correctly but do not yet expose every appearance option, so they show a Preview badge in the picker. Trust the badge in the app rather than memorizing a list; the styleable set grows over time.

Bind your data

Use this page with your AI assistant

Every BankSync doc is available as plain Markdown for agents and LLMs.