Gaps in a series should appear as gaps on the axis, not be skipped over
Aliases: series gaps · blanked gaps
What it is
Series have holes: equipment downtime, holiday blanks, metrics launched mid-period. Most plotting libraries default to stitching the hole shut — the points on either side connect directly, the line runs smooth, and nothing seems to have happened. This default stitch is wrong: a segment crossing the gap asserts "a steady transition occurred between these two moments," when the fact is "nothing was measured here." Where there is no observation there should be no shape. The correct rendering leaves the stretch blank on the axis: the line stops before the gap and restarts after it, with emptiness in between presenting the data's absence honestly.
Why it happens
A connecting line is a claim of continuity: readers take the segment as "the moment-by-moment path between the two points," perceiving the whole line as one process (Gestalt continuity serves reading here and misleads here equally). A stitched chart wounds twice: readers believe the transition is known (worse, they hallucinate an interpolation opposite to the true trend), and the existence of the gap is concealed — three days of downtime and three days of normal running look identical in a stitched chart. Blanking repairs both: emptiness is an explicit "unknown" marker, readers know to ask "what happened in there," and that question is often the entrance to the data-quality story.
Where it stops holding
Blanking a series gap differs from a broken axis: the blank removes an interval where data does not exist (the axis still extends in true time proportion), while the break removes an interval where data exists but is compressed — the former honest, the latter distorting (broken-axis group). Short gaps (one or two points) allow negotiation: with sparse points the blank is obvious; with dense points where the gap is narrower than the stroke, add a jump mark or widen the blank to minimum visible width. Interpolated bridging is acceptable only under two conditions: the interpolation method declared in the caption, and interpolated segments visually distinguished (dashed) from measured ones. Zeros and missing values must be differently encoded (zero is a measured value, missing is unmeasured) — conflating them fabricates collapses.
Applying it
- Handle missingness explicitly at the plot layer: break the path on NaN instead of skipping-and-connecting (most libraries need a connectGaps-style option turned off).
- For gaps longer than three sampling periods, annotate the blank's centre ("maintenance downtime"), turning emptiness into information; if other series ran normally, shade the gap across the whole chart to flag a systemic interruption.
- Verification: ask readers "which periods in this chart have no data?"; a stitched chart they cannot answer has concealed successfully — exactly the failure to avoid.
Related
- Same group: U3.06.1 Uneven sampling plotted at even spacing distorts rates of change · U3.06.3 Months have unequal lengths; equal-width monthly bars are not directly comparable · U3.06.4 Time zones and DST create duplicated or missing hours on the axis · U3.06.5 Temporal granularity decides which periodicities become visible
- Nearby: U8.02.1 Visualizing missing data · U3.02.1 A broken axis removes a value interval from the middle of the scale
- Search terms:
missing data gap·time series gap·line break·interpolation disclosure
Cards in the same group
- U3.06.1Uneven sampling plotted at even spacing distorts rates of change
- U3.06.3Months have unequal lengths; equal-width monthly bars are not directly comparable
- U3.06.4Time zones and DST create duplicated or missing hours on the axis
- U3.06.5Temporal granularity decides which periodicities become visible