Skip to content
InsightCharts

Search

Search guides and components

Atlas poster

A landscape spread of up to eleven small illustrations of one subject, each a different graphic form, in three bands of unequal panels: a statement in large type, spokes round an icon and a network of circles; a smooth trend with its peak labelled, nested squares and a slope chart; a pill ranking, a treemap, a tile map and sized circles; and a closing row of icon statements.

Use when
Use it when one subject has many small facts of different kinds (shares, places, a trend, a change, a ranking, a map) and none of them should dominate: a crop, an industry, a service, a country's internet. Fill at least eight regions. Give every panel a short heading that states its one number. Every region is optional, and each band shares its width among the panels that are present.
Avoid when
One dominant fact or graphic (use count poster, flow poster or ranking poster). The same measures across several entities (use matrix poster). Fewer than six panels (use poster and place them yourself). A phone-first piece: the spread becomes one long column under 600px.

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 atlas poster template is assembled from 1 molecule, 5 poster primitives and 5 other atoms. 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

5

Draws a small set of circles sized by value and joined by thin lines, with one circle highlighted and tagged.

Shows a ranked list as horizontally centred rounded bars, with each name in capitals on its pill, the value at the left edge and the rank at the right.

Compares two to eight values as squares or circles whose areas are proportional to the values, each printed with its name and number.

Draws one spoke per row radiating from a centre disc, each as long as its value, with the name and value set on an outer ring.

Shows a few related magnitudes as plain circles sized by area, each with its number set large and a short label.

Other atoms

5

Shows a quantity over time as a filled area from zero: one series, stacked series, shares of 100%, or a streamgraph.

Colours the regions of a map by a normalised value, from GeoJSON you supply.

A "1 in 4"-style statement: a row or grid of simple glyphs with some filled, and the sentence they illustrate.

Connects each entity's value at two (or a few) points with a straight line, labelled with name and value at both ends.

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

Installation

$ pnpm dlx shadcn@latest add @insightcharts/atlas-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 { AtlasPoster } from "insightcharts";

Examples

Dusk, a space programme, ten panels, with download

Sunrise, a country's internet, linked

Props

PropTypeDefaultDescription
statement{ value, label, context?, icon? }Band 1, left: the subject's main number in large light type, in the accent colour.
spokes{ data, name, value, icon?, centerLabel?, highlight?, title?, ...radial-spokes props } | SlotBand 1, middle: 4 to 12 attributes as spokes round a centre icon (radial-spokes).
network{ data, name, value, links, highlight?, tag?, title?, ...bubble-network props } | SlotBand 1, right: named places or things as circles sized by value and joined by lines (bubble-network).
trend{ data, x, y, peak?, format?, title?, ...area-chart props } | SlotBand 2, wide: one measure over an ordered dimension as a smooth filled curve (area-chart). The highest point is labelled with its value and position; peak replaces that label, and peak: false removes it.
area{ data, name, value, ratio?, title?, ...proportional-area props } | SlotBand 2: two or three quantities as squares nested from one corner, with a bracket stating the ratio (proportional-area, layout: "nested").
slope{ data, series, y: [from, to], names?, highlight?, title?, ...slope-chart props } | SlotBand 2: each entity at two dates, joined by a line and labelled at the end (slope-chart).
rank{ data, name, value, highlight?, title?, ...pill-rank props } | SlotBand 3: a ranking of 4 to 6 rows as centred pills (pill-rank). Pass a bar-chart spec for bars instead.
parts{ data, name, value, title?, ...treemap props } | SlotBand 3: the parts of one whole as tiles (treemap).
map{ data, region, value, code?, geo?, title?, ...choropleth-map props } | SlotBand 3: a tile map shaded by value (choropleth-map). Give every row col and row, the tile's place in the grid, and the template builds the squares; code names the field printed on each tile. Pass geo to use your own GeoJSON.
circles{ data, name, value, unit?, title?, ...stat-circles props } | SlotBand 3: two to four magnitudes as sized circles (stat-circles).
stats{ count, total?, text, icon?, value? }[]Closing row: up to three "3 in 10" statements, each a row of icons with some filled (icon-stat).
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"forest"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 | string1440Widest 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.