Charts that state their basis.
MoneyChart
One currency per chart, rejected at the type level. A forecast rendered identically to an actual is a lie, so anything after projectedFrom is drawn dashed. Horizontal gridlines only; the axis abbreviates but the exact value is always reachable.
Dashed segments from Jun 25 are projected, not actual.
MoneyChart — the FP&A layer
Four things a plan chart has to say that a line chart cannot. Where the actuals stop, drawn as a boundary rather than left to a dash pattern read across six months. How wrong the forecast might be, as a band that widens with distance and names its interval — an unlabelled cone is a precision claim nobody made. What the alternatives are, as scenarios told apart by dash rhythm rather than by hue, never ranked and never styled as a good case. And what was planned, dotted and in the neutral tone, with the variance stated as F or U because favourable and unfavourable survive greyscale and a red line does not.
Dashed segments from Sep are projected, not actual. Shaded range is P10–P90. Dotted line is FY26 Plan v3; variance is actual less plan, marked F where the difference is favourable and U where it is not.
- Revenue (base)
- Downside — no new logos after October
- Upside — enterprise tier lands in Q3
Dashed segments from Sep are projected, not actual. Scenarios are alternative assumptions, not outcomes ranked by preference.
MoneyBarChart
Bars grow from the zero baseline — transform-origin sits at zero, not at the bottom of the canvas — so a negative bar grows downward. Negative bars carry a 45° hatch, because colour alone is not a sign.
WaterfallChart · RevenueWaterfall
A subtotal step is an absolute position, not a delta — conflating the two is how waterfalls end up not tying. Recognition is bucketed by performance obligation, not by invoice.
- License
- Implementation
- Support
CategoryBreakdown
Six series maximum; the rest group into “Other”, which is expandable. Colours come from a stable hash of the category key, never from the array index — otherwise a category changes colour when the sort changes. Percentages use largest-remainder allocation, so they total exactly 100.
| Payroll and benefits | 241,800 US Dollar | 52.7 percent | |
|---|---|---|---|
| Hosting and infrastructure | 84,200 US Dollar | 18.3 percent | |
| Marketing programs | 62,400 US Dollar | 13.6 percent | |
| Software and tools | 29,400 US Dollar | 6.4 percent | |
| Rent and facilities | 18,800 US Dollar | 4.1 percent | |
| Other | 22,700 US Dollar | 4.9 percent |
Shares allocated by largest remainder, so they sum to exactly 100%.
CandlestickChart
Up and down candles differ in fill and in outline, not only in hue. Four values per candle and each one is reachable in the table.
Hollow candles closed up, solid closed down. The rate axis does not start at zero.
ChartLegend · ChartTooltip · DataTableToggle
The legend isolates a series rather than hiding it. The tooltip pins to a fixed header on touch instead of floating under the finger. The table toggle is on every chart in this family.
ChartLegend — click to isolate
ChartTooltip — pinned presentation
September 2026
- Revenue$596,600.00
- Cash$184,200.00
Sparkline · Trend
A sparkline carries no axis, so it never asserts a scale it has not shown. Trend states the basis of its comparison; a bare percentage with nothing to compare against is not information.
Sparkline, rising
Sparkline, falling, inverted polarity
Trend, standard polarity
Trend, inverted polarity