The React waterfall chart you don't have to build by hand.
Running totals, up and down bars, and connectors. All derived from your rows and a single typed config.


Why this waterfall chart library
The bookkeeping behind a waterfall, already done.
How it works
Deltas in, waterfall out — in three steps.
step 1
Install the SDK
One command. TypeScript-first. Works with npm, yarn, pnpm, and bun.
step 2
Define your waterfall config
Set type: 'waterfall', pass a category column and a signed amount column. Positives rise, negatives fall.
step 3
Render anywhere in your tree
Wrap in GraphProvider and drop in the Graph component. That's it.
Agents
Don't want to write the config? Let an agent build the bridge.
Graphy's agents read your dataset, work out which steps drive the change, and ship a validated waterfall. The math runs in the engine, so you get deterministic numbers rather than LLM guesswork.
ask mode
Ask for a bridge. Get a good one.
explore mode
Drop in your data. Get the chart.
Hand the agent a raw dataset and it finds the variance that matters, picks the chart type with scoring rules, and proves the movement step by step.
Use cases
Great for explaining how you got from A to B.

P&L bridge
Walk from revenue to net profit so every deduction along the way is visible and named.

Budget vs actual
Break a variance into the line items that caused it instead of arguing over one number.

Headcount changes
Show joiners and leavers between two dates and land on the closing headcount.
Compare
Side by side with the usual options.
FAQ
Waterfall chart questions, answered.
How do I make a waterfall chart in React?
To make a waterfall chart in React with Graphy: (1) install the SDK with npm install @graphysdk/core; (2) create a config object with type: 'waterfall'; (3) add a category column and a signed amount column to config.data, using positive values for increases and negative values for decreases; (4) render <GraphProvider config={config}><Graph /></GraphProvider>. Graphy calculates the running totals, draws the rising and falling bars, and connects each step automatically.
Do I have to calculate the running totals myself?
No. Pass the deltas as they appear in your data — positive for increases, negative for decreases — and the chart bases each bar on the cumulative total, closing with the final value.
How are increases and decreases colored?
Upward bars, downward bars, and total bars each get a distinct color from the active theme. You can override any of them if your finance team has house colors.
Can I show the value on each bar?
Yes. Set dataLabels: { showDataLabels: true } and each step renders its value above the bar, formatted with your number settings.
When should I use a waterfall instead of a column chart?
Use a waterfall when the story is how a starting number became an ending one — profit bridges, budget variance, headcount movement. Use a column chart when the categories are independent and no running total is implied.
Does it work with Next.js, Vite, or Remix?
Yes. It is a standard React component library and works in any modern React setup, including Next.js (app and pages router), Vite, and Remix.






















