Skip to content
InsightCharts

Search

Search guides and components

Flow poster

A portrait poster of where something comes from and where it goes, in three stacked bands painted in one colour: the producers as large labelled tiles, the leading producer's output fanning out as ribbons to an aligned column of destinations, and the destinations as bubbles on a scale of how much each depends on that producer.

Use when
Use it when one producer leads and the reader should follow its output: ports and the buyers of one port's catch, regions and the users of one region's electricity, terminals and the routes out of the largest. Give producers 4 to 10 rows, flow 4 to 12 destinations of the leading producer, and scale the same destinations with a share (position) and a size. Keep the destination names identical in flow and scale so linked can join them.
Avoid when
Flows through more than one stage or between many sources and many destinations (use sankey chart in a poster). A count of people or things (use count poster). Many measures of the same entities (use matrix poster).

Preview

The preview scrolls inside its frame. A poster has the same colours in the site's light and dark modes. The toolbar has the poster themes and a PNG download. Expand it to see it in place, or open it full screen.

Full screen

Composition

Built from

The flow poster template is assembled from 1 molecule, 2 poster primitives and 1 other atom. Any slot also takes any other component.

Molecules

1

The sheet an infographic is composed on. It paints a full-bleed ground from a poster theme, forces one theme and colour mode on everything inside, and lays out a masthead, a grid of panels and a footer. It can save the whole sheet as one PNG.

Poster primitives

2

Places circles sized by one measure along a single value scale set by another, spread sideways so none overlap, with boxed scale marks instead of an axis.

One solid block that splits into curved ribbons, each as thick as its value, ending at an aligned column of names, values and shares.

Other atoms

1

Shows parts of a whole as nested rectangles sized by value, optionally grouped into categories.

Installation

$ pnpm dlx shadcn@latest add @insightcharts/flow-poster

The CLI copies the source into your project and needs the @insightcharts registry in components.json; see installation. With the package, import it by name:

import { FlowPoster } from "insightcharts";

Examples

Ocean, electricity from one region, linked

Sunrise, containers through one port, with download

Props

PropTypeDefaultDescription
producersrequired{ data, name, value, title?, subtitle?, source?, ...treemap props } | SlotTop band: the producers as tiles sized by output (treemap). The leading one is painted in the accent.
leadstringThe producer the flow starts from. Default: the largest row of producers. It names the block the ribbons leave.
flowrequired{ data, name, value, trunk?, tagged?, tagLabel?, title?, ...fan-flow props } | SlotMiddle band: one ribbon per destination, as thick as its value, ending at a column of names, values and shares (fan-flow).
scale{ data, name, value, size, scaleLabel?, sizeFormat?, title?, ...bubble-scale props } | SlotBottom band: one bubble per destination, placed by value on a 0 to 100 scale and sized by size (bubble-scale). Set domain and ticks for a scale that is not a percentage.
formatFormatSpecHow to print the quantities of the top and middle bands, e.g. "{value} kt".
titlerequiredstringThe poster's one fact, as a plain sentence with its number.
kickerstringSmall label above the title: the topic.
subtitlestringOne line under the title: the measure, population and period.
themePosterThemeName | string | ThemeInput"magenta"Poster theme: noir, magenta, dusk, ocean, forest, blueprint, sunrise, paper, any other theme name, or a theme object.
mode"light" | "dark" | "auto" | "system""light"Colour mode of the poster and everything in it. A poster paints its own ground and does not follow the page unless you set auto. Only paper has a different dark variant.
downloadbooleanfalseShow a "Download PNG" control under the poster that saves the whole poster as one image.
maxWidthnumber | string920Widest the poster is drawn. It is centred in wider containers.
linkedbooleanfalseMake the marks clickable. Clicking a mark in one graphic highlights the same name in every other graphic that has it, and filters the graphics that read the shared data. Click it again, or the empty ground of that graphic, to clear.
dataDataInputRows shared by every region whose config leaves out its own data. With linked, a click filters those regions.
sourcesstring | string[]Where the data comes from, shown in the footer.
notestringCaveat shown in the footer, e.g. "Illustrative data".
creditstringWho made the poster, shown at the right of the footer.
level1 | 2 | 3 | 4 | 52Heading level of the title. Panel headings are one level down.