Change over time

Step / staircase chart

Shows a value remaining constant between discrete changes.

  • Chart
  • Trend over time
  • Change between points

What it answers

When does a held value change?

Shape
Horizontal and vertical steps
What it shows
Change timing and duration at each level.

Example

The question

When did the price of our main product change, and by how much?

List price of the Standard plan, 2025 (EUR per month)

List price of the Standard plan, 2025 (EUR per month)Price 29 from January, 32 from April, 35 from September.EUR per month010203040JanFebMarAprMayJunJulAugSepOctNovDec293235
List price of the Standard plan, 2025 (EUR per month)Price 29 from January, 32 from April, 35 from September.EUR per month010203040JanMarMayJulSepNov293235
Price 29 from January, 32 from April, 35 from September.

Illustrative data. It belongs to no company.

When to use it

Use it when

Prices, rates or inventory levels held constant between changes.

Avoid it when

Continuously varying measurements that are not stepwise.

How to read it

Read flat segments as unchanged values and vertical steps as updates.

Note

Specify whether changes apply before or after the timestamp.

The data you need

Layout
Long table
Fields
Time: date/datetime or ordered number; Value: number
One row is
One observation at a time or ordered position. What is the grain?
Rules
Parse dates consistently and sort ascending. Resolve duplicate timestamps by a declared rule. Missing values are not automatically zero.
Optional
Optional Series. Use regular spacing for methods requiring it.
Preparation
Parse and sort timestamps or sequence positions; aggregate duplicates deliberately and preserve gaps. Parse dates consistently and sort ascending. Resolve duplicate timestamps by a declared rule. Missing values are not automatically zero.
Units
Time uses a stated date/time unit and sampling period; the value axis uses the measure's unit. Rates need their own explicit denominator.
Example of the input layout: Long tableA long table: one row per observation, few columns. New data adds rows.TimeValueAABBC
A long table: one row per observation, few columns. New data adds rows.

Worked example

Data day 1=10, day 4=15, day 7=12. Hold each value until the next date. The level stays 10 on days 1-3.

TimeValue
2026-01-0130
2026-02-0134
2026-03-0138