Skip to content
InsightCharts

Search

Search guides and components

Annotated timeline

A vertical sequence of dated events along a rail, each with a short explanation and, optionally, a small chart or figure.

Use when
Telling how something unfolded when the events matter more than a continuous measure: a policy history, an incident, a product's milestones. Four to eight events; give a figure only to the ones where a number changed.
Avoid when
Events that should be read against a time scale, with gaps and overlaps to scale (use timeline chart); a continuous series with a few annotated moments (use line chart with annotations); ordered steps that are not dated (use section with step).

Preview

The ECB raised its deposit rate from −0.5% to 4% between July 2022 and September 2023

Euro area deposit facility rate and annual inflation, 2021 to 2024

  1. Step July 2021: Inflation reaches 2.2%

    The ECB's target is 2%. The bank kept its deposit rate at −0.5%.

  2. Step July 2022: The deposit rate rises from −0.5% to 0%

    This was the ECB's first rate rise in eleven years. Inflation was 8.9%.

    Annual inflation, July 2022
    8.9%
    The target is 2%
  3. Step October 2022: Inflation reaches 10.6%

    This was the highest monthly figure of 2022. The ECB raised rates by 0.75 points at each of two consecutive meetings.

  4. Step September 2023: The deposit rate reaches 4%

    This was the tenth rise in a row. Inflation was 4.3%.

  5. Step June 2024: The deposit rate is cut to 3.75%

    The cut was 0.25 points. Inflation was 2.5%.

Source: European Central Bank; Eurostat · Figures are approximate, for illustration

Composition

Built from

The pieces annotated timeline renders or expects in its slots.

Atoms

4

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

A readable block of narration at a 45-75 character measure, for the text between charts.

A word-sized line or bar series without axes, with the latest point marked.

A numbered chapter or step heading ("01 — Electricity sources in 2015") for sequencing the sections of a story.

Used in

1 template uses annotated timeline.

Templates

1

A story told in date order. It has a headline, one overview exhibit of the whole period (a timeline chart or an annotated line), dated chapters along a rail, a closing paragraph and a source note. Each chapter has a short text and an optional small exhibit.

Installation

$ pnpm dlx shadcn@latest add @insightcharts/annotated-timeline

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 { AnnotatedTimeline } from "insightcharts";

Examples

Figures at the side

  1. Step 2015: The Paris Agreement is signed

    Solar supplied 2.9% of EU electricity. Coal supplied 24.6%.

    Solar share of EU electricity
    2.9%
  2. Step 2019: Solar module prices are half their 2015 level

    New utility-scale solar costs less than new gas plants in southern Europe.

  3. Step 2022: The EU adds 41 GW of solar capacity

    Gas prices rose sharply in 2022. Solar installations were 47% higher than in 2021.

    Solar capacity added in the EU
    41 GW
    +47% vs 2021
  4. Step 2024: Solar supplies 11.1% of EU electricity

    Coal supplied 9.8%.

    Solar share of EU electricity
    11.1%
    Coal supplied 9.8%

Source: Ember; SolarPower Europe · Figures are approximate, for illustration

Props

PropTypeDefaultDescription
eventsrequired{ date, title, text?, figure?, emphasis? }[]The events in reading order. date is shown as written; figure is a chart spec or element; emphasis fills the marker to mark the most important events.
figurePosition"below" | "side""below"Where an event's figure sits; side falls back to below under 640px.
level2 | 3 | 4 | 5 | 63Heading level of the event titles.
titlestringThe main fact with its number, or a plain label.
subtitlestringScope and period.
sourcestringShown under the timeline as "Source: ...".
notestringMethod note or caveat.
themeThemeInputTheme override, passed on to every event.
mode"auto" | "system" | "light" | "dark""auto"Colour mode.