# The best chart for change over time

> Twenty-four charts, and when each one fits.

**Short answer.** For one measure over time, use a line. When the amount matters, use an area. For a day-by-day pattern, use a calendar heatmap. With several series, use a multi-line chart, and with a forecast, a forecast band.

Updated Nov 2, 2026 · SaaS sample data

## 010 · Line

One line, 84 days: the trend and the dips.

Sign-ups per day, Jul 20 to Oct 11, 2026. 10,466 sign-ups over 84 days, from 118 on Mon Jul 20 to 97 on Sun Oct 11; the busiest day was Fri Sep 11 with 188, the quietest Sun Jul 26 with 65.

| Day | Sign-ups |
| --- | --- |
| Mon Jul 20 | 118 |
| Tue Jul 21 | 127 |
| Wed Jul 22 | 116 |
| Thu Jul 23 | 109 |
| Fri Jul 24 | 123 |
| Sat Jul 25 | 73 |
| Sun Jul 26 | 65 |
| Mon Jul 27 | 116 |
| Tue Jul 28 | 131 |
| Wed Jul 29 | 126 |
| Thu Jul 30 | 113 |
| Fri Jul 31 | 121 |
| Sat Aug 1 | 77 |
| Sun Aug 2 | 70 |
| Mon Aug 3 | 117 |
| Tue Aug 4 | 130 |
| Wed Aug 5 | 135 |
| Thu Aug 6 | 120 |
| Fri Aug 7 | 119 |
| Sat Aug 8 | 78 |
| Sun Aug 9 | 76 |
| Mon Aug 10 | 121 |
| Tue Aug 11 | 128 |
| Wed Aug 12 | 141 |
| Thu Aug 13 | 131 |
| Fri Aug 14 | 120 |
| Sat Aug 15 | 77 |
| Sun Aug 16 | 81 |
| Mon Aug 17 | 130 |
| Tue Aug 18 | 126 |
| Wed Aug 19 | 142 |
| Thu Aug 20 | 142 |
| Fri Aug 21 | 126 |
| Sat Aug 22 | 75 |
| Sun Aug 23 | 84 |
| Mon Aug 24 | 141 |
| Tue Aug 25 | 128 |
| Wed Aug 26 | 140 |
| Thu Aug 27 | 150 |
| Fri Aug 28 | 135 |
| Sat Aug 29 | 75 |
| Sun Aug 30 | 84 |
| Mon Aug 31 | 152 |
| Tue Sep 1 | 135 |
| Wed Sep 2 | 137 |
| Thu Sep 3 | 153 |
| Fri Sep 4 | 147 |
| Sat Sep 5 | 77 |
| Sun Sep 6 | 83 |
| Mon Sep 7 | 159 |
| Tue Sep 8 | 145 |
| Wed Sep 9 | 136 |
| Thu Sep 10 | 152 |
| Fri Sep 11 | 188 |
| Sat Sep 12 | 81 |
| Sun Sep 13 | 81 |
| Mon Sep 14 | 161 |
| Tue Sep 15 | 157 |
| Wed Sep 16 | 140 |
| Thu Sep 17 | 149 |
| Fri Sep 18 | 164 |
| Sat Sep 19 | 88 |
| Sun Sep 20 | 81 |
| Mon Sep 21 | 159 |
| Tue Sep 22 | 167 |
| Wed Sep 23 | 149 |
| Thu Sep 24 | 146 |
| Fri Sep 25 | 165 |
| Sat Sep 26 | 95 |
| Sun Sep 27 | 84 |
| Mon Sep 28 | 155 |
| Tue Sep 29 | 172 |
| Wed Sep 30 | 162 |
| Thu Oct 1 | 147 |
| Fri Oct 2 | 162 |
| Sat Oct 3 | 100 |
| Sun Oct 4 | 90 |
| Mon Oct 5 | 153 |
| Tue Oct 6 | 172 |
| Wed Oct 7 | 174 |
| Thu Oct 8 | 154 |
| Fri Oct 9 | 158 |
| Sat Oct 10 | 102 |
| Sun Oct 11 | 97 |

## 011 · Area

The same days summed by week: 731 in the first week, 1,010 in the last.

Sign-ups per week, Jul 20 to Oct 11, 2026. The same 10,466 sign-ups in 12 weeks: 731 in the week of Jul 20, 1,010 in the week of Oct 5.

| Week of | Sign-ups |
| --- | --- |
| Jul 20 | 731 |
| Jul 27 | 754 |
| Aug 3 | 775 |
| Aug 10 | 799 |
| Aug 17 | 825 |
| Aug 24 | 853 |
| Aug 31 | 884 |
| Sep 7 | 942 |
| Sep 14 | 940 |
| Sep 21 | 965 |
| Sep 28 | 988 |
| Oct 5 | 1,010 |

## 025 · Calendar heatmap

The same 84 days as a calendar: weekends show as the pale rows.

Sign-ups per day, by week. The same 84 days as a calendar, one column per week, Monday to Sunday; weekends bring 1,974 of the 10,466 sign-ups (19%).

| Week of | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Jul 20 | 118 | 127 | 116 | 109 | 123 | 73 | 65 |
| Jul 27 | 116 | 131 | 126 | 113 | 121 | 77 | 70 |
| Aug 3 | 117 | 130 | 135 | 120 | 119 | 78 | 76 |
| Aug 10 | 121 | 128 | 141 | 131 | 120 | 77 | 81 |
| Aug 17 | 130 | 126 | 142 | 142 | 126 | 75 | 84 |
| Aug 24 | 141 | 128 | 140 | 150 | 135 | 75 | 84 |
| Aug 31 | 152 | 135 | 137 | 153 | 147 | 77 | 83 |
| Sep 7 | 159 | 145 | 136 | 152 | 188 | 81 | 81 |
| Sep 14 | 161 | 157 | 140 | 149 | 164 | 88 | 81 |
| Sep 21 | 159 | 167 | 149 | 146 | 165 | 95 | 84 |
| Sep 28 | 155 | 172 | 162 | 147 | 162 | 100 | 90 |
| Oct 5 | 153 | 172 | 174 | 154 | 158 | 102 | 97 |

**Same 10,466 sign-ups.** The line shows the climb, the area its size (38% more per week than in July), and the calendar the weekly rhythm: weekends bring 19% of sign-ups. The busiest day was Fri Sep 11, with 188.

## If you ask

| Question | Use a |
| --- | --- |
| Is it going up or down? | 010 · Line |
| How much has it added up to? | 011 · Area |
| Which days of the week are busy? | 025 · Calendar heatmap |
| How do several series compare over time? | 012 · Multi-line |
| Where is it heading, and how sure are we? | 015 · Forecast band |
| What changed between two totals? | 042 · Waterfall |

## All twenty-four

| Type | Use it when | Data shape |
| --- | --- | --- |
| [010 · Line](https://usechartory.com/charts/line) | One value, read as a trend | One value per point in time |
| [011 · Area](https://usechartory.com/charts/area) | A trend with weight under it | One value per point in time |
| [012 · Multi-line](https://usechartory.com/charts/multi-line) | A few series on one time axis | Two to six series, one value per point |
| [013 · Overlapping areas](https://usechartory.com/charts/overlapping-areas) | A few volumes, seen through each other | Two or three series, one value per point |
| [014 · Streamgraph](https://usechartory.com/charts/streamgraph) | How the mix shifts through the year | Three to six parts, one value per period |
| [015 · Forecast band](https://usechartory.com/charts/forecast-band) | Where it is heading, and how sure we are | Actuals, then a forecast with a low and a high |
| [025 · Calendar heatmap](https://usechartory.com/charts/calendar-heatmap) | Every day of a season in one grid | One value per day |
| [026 · Cohort](https://usechartory.com/charts/cohort) | How each group holds on over time | One row per cohort, one share per month since start |
| [036 · Candlestick](https://usechartory.com/charts/candlestick) | Open, high, low and close, per period | Open, high, low, close and volume per period |
| [046 · Bar and line combo](https://usechartory.com/charts/bar-and-line-combo) | An amount and a rate on one card | One amount and one rate per period |
| [051 · Spiral year](https://usechartory.com/charts/spiral-year) | A year of weeks, wound into one coil | One value per week of a year |
| [054 · Horizon](https://usechartory.com/charts/horizon) | Many series, folded into thin rows | Several series, one value per point |
| [056 · Renko](https://usechartory.com/charts/renko) | Price, counted in fixed bricks | A start price, a brick size and the up and down moves |
| [080 · Underwater drawdown](https://usechartory.com/charts/underwater-drawdown) | How far below the last peak, and for how long | Drawdown per point and the deepest point |
| [084 · Stock sawtooth](https://usechartory.com/charts/stock-sawtooth) | Stock on hand, drawn down and refilled | Units on hand over time, a reorder point |
| [090 · Funding stripes](https://usechartory.com/charts/funding-stripes) | Who pays whom, one stripe per period | A signed rate per period and the price |
| [094 · Radial lollipop](https://usechartory.com/charts/radial-lollipop) | A year of values around one ring | One value per period in a repeating cycle |
| [101 · Budget runway](https://usechartory.com/charts/budget-runway) | Spend to date against the budget, and where it lands | Daily spend by source, a budget |
| [104 · Runs with brush](https://usechartory.com/charts/runs-with-brush) | A week of runs, with the moment that matters in focus | Runs and success rate per hour, events |
| [105 · Target trend](https://usechartory.com/charts/target-trend) | A measure against its target, and when it slipped | One value per point, a target |
| [110 · Incident tape](https://usechartory.com/charts/incident-tape) | One incident, minute by minute | A measure over time and dated steps |
| [111 · Threshold what-if](https://usechartory.com/charts/threshold-what-if) | What a new alert threshold would have done | A measure over time, two thresholds |
| [113 · Burn-down](https://usechartory.com/charts/burn-down) | A budget used up through the month | Minutes left per day and numbered incidents |
| [117 · Version ribbon](https://usechartory.com/charts/version-ribbon) | Each version, scored on three measures | Versions in order, two to four measures each |

## Common mistakes

- **Bars for a long series** Eighty bars turn into a comb. Use a line for long daily series.
- **A cut axis on an area** A fill reads as an amount, so its axis starts at zero.
- **Too many lines** Past five or six series, lines tangle. Use a horizon chart or small multiples.

## Every change-over-time chart, and the other 108 types.

In Figma and React, in four sizes, light and dark. Pay once, every update. [See the twenty-four in Charts](https://usechartory.com/charts#change-over-time)

## Questions

### Line or area?

A line when the direction matters, an area when the amount does.

### How many points can a line chart hold?

Hundreds. The axis labels thin out at small sizes; the data does not.

### Which chart shows seasonality?

A calendar heatmap for days, a spiral year for weeks, a radial lollipop for months.

### Do these charts come in every size?

Yes. All of them come in XS, S, M and L, each laid out again for its size, in light and dark.

## Other questions

- [Compare items](https://usechartory.com/questions/compare-items)
- [Part of a whole](https://usechartory.com/questions/part-of-a-whole)
- [Distribution](https://usechartory.com/questions/distribution)
- [Flow between steps](https://usechartory.com/questions/flow-between-steps)
- [Relationship](https://usechartory.com/questions/relationship)
- [Schedule and status](https://usechartory.com/questions/schedule-and-status)
- [Space and place](https://usechartory.com/questions/space-and-place)

Not sure it is a change over time? Start from what the chart has to show. [Open the Chart Chooser](https://usechartory.com/chooser)
