No data and the value is zero are two completely different facts a chart must not blur together
Aliases: missing value encoding · null vs zero
What it is
"No data" and "the data is zero" are entirely different states: the former means we don't know what happened (sensor offline, API error, no record for the period), the latter means we know with certainty that "nothing" happened (no clicks, no orders that day). In databases and computation the two are often conflated (nulls summed as 0, missing periods filled with 0), but if the visualization does not separate them, readers will read "data pipeline break" as "business went to zero"—mistaking a technical failure for a business collapse, or conversely misreading a real zero as a data problem and missing a genuine business change.
Why it happens
The confusion stems from how the visual channel is allocated: when position (bar height, point height) carries both "value is zero" and "no value," both are drawn at the baseline and are visually indistinguishable. The fix assigns missing an independent visual channel: hollow outlines instead of solid bars ("a bar belongs here but has no value"), gray shading or hatching over missing periods, broken axis segments, or tooltips explicitly saying "no data for this period." Computational conflation is equally common and more insidious: SQL's SUM silently ignores nulls, front-end chart libraries may coerce null to 0 or skip it entirely—the same missing value may appear as 0 in a bar chart (coerced), as a gap in a line chart (skipped), and as a blank in a table, with the three displays contradicting each other. Consistent treatment requires declaring an explicit missing-data policy before data enters the visualization: show as a gap, show as a gray marker, or fill with interpolation—each policy suits different situations but must be applied uniformly across the system.
Where it stops holding
"Show missing as a gap" breaks down when the missing proportion is high: a chart full of gaps conveys near zero information, and the more honest presentation is a chart-level annotation "data coverage for this period is only 40%" rather than a field of gaps for readers to count. The missing-vs-zero distinction has another subtle boundary in downstream computation: treating missing as zero in sum-type metrics is common and reasonable (unreported sales as 0 has limited impact), but in ratio metrics it systematically distorts the denominator (missing session time counted as 0 drags the average down), so missing policies must be defined per metric type. In real-time pipelines, brief gaps (a few seconds of collection lapse) and sustained gaps (a data source going down) deserve different policies—the former may be briefly interpolated with an annotation, the latter must visibly break.
Applying it
- Define a uniform visual marker for missing data at the data-to-chart mapping layer (gray block, hollow outline, or broken line); never silently coerce to 0.
- Show "no data (reason: XX)" in the tooltip at missing data points rather than "0."
- When data coverage falls below a threshold (e.g., 80%), display the coverage rate in the chart's header to warn readers about reliability.
- Verification: create a known gap (e.g., pause one data source for a minute) and check whether the chart shows a gap/gray block or a bar dropping to zero; a zero bar is a conflation instance.
Related
- Same group: U8.04.2 Lines crossing missing points fabricate continuity · U8.04.3 Missing proportion affects conclusion credibility
- Nearby: U8.04.3 Missing proportion affects conclusion credibility · U7.09.3 Data must carry a visible timestamp
- Search terms:
null vs zero·missing data encoding·data gap