Skip to content
InsightCharts

Search

Search guides and components

Get started

Introduction

InsightCharts is a React library of charts, figures, page layouts and infographic posters built on Apache ECharts 6. Every component can be written as JSX or as a JSON spec.

Every chart takes a title that states one fact with its number, an entity to highlight, and annotations that mark a date, a threshold or a single value. The defaults follow common practice in news graphics. Lines and bars are labelled directly where possible. Bars start at zero. The highlighted series is drawn in colour and the other series in grey.

Solar generation rose from 705 TWh in 2019 to 2,130 TWh in 2024

Global electricity generation from solar and wind, TWh

Illustrative figures

Open the Code and JSON tabs above. They show the same chart as JSX and as a plain JSON spec. Every component in this library can be written both ways.

Three levels

Components are grouped into three levels by size.

LevelWhat it isExamples
AtomsOne chart form or one figure primitive.Bar chart, line chart, big number
MoleculesA combination of atoms that is used often.A row of statistics, a chart with a callout beside it
TemplatesA complete page built from molecules and atoms.A one-page executive brief, a scroll-driven essay

Every component page lists what the component is built from and where it is used. For example, a big number is an atom. A stat row is a molecule that repeats the big number. The executive brief is a template that starts with a stat row.

A featured statistic with its label, change and the context that gives it meaning.

Stat row

Molecule

Two to five key figures in one row separated by hairlines, collapsing to two columns and then one as the container narrows.

A one-page summary. It has a headline that states the main finding with its number, a deck, a row of three or four key figures, one hero chart with a takeaway callout, two smaller supporting exhibits, a short list of actions and a source note.

Infographics

10 of the templates are infographics. An infographic draws one poster: a painted background, a large title and one large graphic or several graphics laid out together. Infographics are built on the poster frame from 19 poster primitives, in eight poster themes, with 69 built-in icons. See the infographics guide.

Features every chart has

Each chart is defined by one pure function that turns props and rows into an ECharts option. A shared factory supplies the features below, so they work the same way on every chart.

  • Data loading from rows, columns, CSV text, a URL, an async function or an Arrow-style table, with JSON transforms.
  • Figure text as HTML: title, subtitle, legend, source line, and loading, empty and error states.
  • Theme and dark mode resolved from CSS variables, following a shadcn/ui theme when one is present. See theming and dark mode.
  • Highlight and annotations: see highlighting and annotations.
  • Crossfiltering through a shared store: see crossfiltering.
  • Export to PNG, JPEG, SVG, PDF, CSV and JSON: see export. A whole poster or social card is saved as one PNG.
  • The option prop for any ECharts setting that no prop covers: see custom ECharts options.

Metadata for AI agents

InsightCharts pages are expected to be written mostly by AI agents and read by people. Each component carries machine-readable metadata: what it shows, when to use it, when to pick something else, its props and a working example. That metadata generates this site, llms.txt, a JSON Schema, a shadcn registry and an installable agent skill. See for AI agents.

Next steps