A chart's vertical limits were set to 0-100, yet 3% of rows exceed 100 — where did those rows go?
answer
- the data still has them
- window narrowed or rows removed
- compare axis maximum to column maximum
- nothing on the page says three percent
basics
~20 sThe rows remain in the data; only their marks fall outside the drawn region. Whether they still influence anything the chart derived depends on whether the limit narrowed the window or dropped the rows first, and the page shows neither.
solid answer
~50 sNothing happened to the data — the limits are a property of the picture, not of the table. What differs, and what the finished chart cannot tell you, is the mechanism: **narrowing the window** leaves every row in play and simply clips the marks that fall outside the drawn region, while **removing the out-of-range rows before drawing** takes them out of everything the chart derives afterwards. Both produce a picture whose highest tick is 100 and which looks complete. So a reader concludes the maximum is 100, and any summary drawn on the chart may or may not agree with the same summary computed from the table. The cheap check is to compare the highest tick against the column's maximum; the honest fix is to state the limits and say how many rows lie beyond them and how far.
go deeper
Recall that axis limits are a property of the picture, not of the data. If the axis stops at 100, that does not mean the column does.
Explain the two mechanisms that produce the same image: narrowing the window leaves every row in play, removing out-of-range rows first changes whatever the chart derives.
Demonstrate the diagnosis: compare the highest tick against the column's maximum, cross-check one number the chart shows against the table, and treat silence from the tool as no evidence.
Set the standard that a chart states its limits and the count outside them, so a reader can tell a deliberate editorial cut from a stale setting nobody revisited when the data moved.
## The limits are a property of the picture **The axis range** — the lowest and highest values the axis shows — is a presentation setting. It can be narrower than the data, and when it is, some rows have no mark inside the drawn region. Those rows are still in the table, still in memory, still in whatever is written out afterwards. Nothing about setting a limit is a deletion. What makes this a real production hazard rather than a curiosity is that the resulting picture is indistinguishable from an honest one. The axis stops at 100 because that is the limit; a chart of data that genuinely stops at 100 also has an axis stopping at 100. The page carries no mark, no annotation and no count to tell the two apart. ## Two mechanisms, one picture | | narrowing the window | removing out-of-range rows first | |---|---|---| | where the rows live | still in the data and still considered | still in the data, but not in what the chart saw | | the clipped marks | not drawn inside the region | not drawn, because the rows never reached the mark | | anything the chart derived | computed over every row, including the ones off the picture | computed over the survivors only, so it moves | | what the reader sees | an axis stopping at 100 | an axis stopping at 100 | | what the tool may say | possibly nothing | often a message about removed rows, easy to miss | The second row of consequences is the one that catches people. Suppose a reference line is drawn across the chart for the column's average. Under the first mechanism it sits where the true average is, possibly above the top of the frame and therefore invisible. Under the second it sits somewhere lower, because the largest three percent of rows were not part of the calculation. A colleague who computes the average from the table then reports a number the chart disagrees with, and the disagreement is the diagnostic. ## Why this is harder to catch than a filter you wrote A condition applied to the rows lives in the code that prepares the data, next to everything else that shapes the result, where a reviewer reading the transformation will see it. An axis limit lives in the presentation step, often far from the data work and often set to make an early draft look tidy after one dominating value squashed everything else. It then survives every later change to the data, including the change that made the dominating value normal and something else the new extreme. The limit is also invisible to the checks people usually run. A row count before and after the chart is unchanged, because the chart does not consume rows. Whatever assertions guard the transformation all pass. The only surface on which the problem exists is the picture. ## How to catch it 1. **Compare the highest tick with the column's maximum**, computed from the table. If the tick is lower, rows are outside the picture. Do the same at the bottom. 2. **Read the messages the drawing produced.** Where a design removes rows rather than clipping marks, it usually says so once, in a stream nobody is watching. Where it clips, it may say nothing at all, so silence is not evidence. 3. **Cross-check one number.** Take any summary the chart shows and compute it from the table. Agreement suggests a narrowed window; disagreement points at removal before drawing. 4. **Do not expect clipped marks to pile up at the edge.** Most designs simply do not draw them, though some offer an explicit out-of-range indicator you have to ask for. An empty top edge means nothing either way. ## When clipping is legitimate, and what honesty requires There is a real case for it: a handful of very large values can compress everything else into a band a few pixels tall, and a chart that shows the structure of ninety-seven percent of the rows is more useful than one that shows a flat line and three dots. The limits are then a deliberate editorial choice, and the obligations that come with it are concrete: - say in the caption what the limits are; - say **how many rows** fall outside them and how far they reach, so the reader knows the size of what is missing; - consider drawing the extremes some other way rather than hiding them — an axis on which equal distances mean equal ratios, a non-linear axis where a fixed step across the page is a fixed multiplier rather than a fixed amount, will often fit the whole column in one frame without cutting anything; - re-check the limits whenever the data changes, because a limit chosen for last quarter's distribution is a silent editorial decision about this quarter's. The failure mode to remember is not that clipping is wrong. It is that a clipped chart makes exactly the same claim about completeness as an unclipped one, and only the author knows which it is.
- What would you add to the chart so the clipping is not a lie?State the limits in the caption and annotate how many rows lie beyond them and how far they reach — "37 rows above 100, up to 4,100" costs one line. Better still, try an axis on which equal distances mean equal ratios, which often fits the whole column in one frame so nothing has to be hidden at all.
- A reference line for the average drawn on the chart disagrees with the average computed from the table. What does that suggest?That the limits removed rows before the chart derived anything, rather than merely narrowing the window. A narrowed window leaves every row in the calculation, so the two numbers agree even when the line itself is off the top of the frame. Disagreement points squarely at removal.
- Row counts before and after the chart step are identical. Does that rule the problem out?No. Drawing does not consume rows, so counts around the chart are unchanged under either mechanism. Removal before drawing happens inside the chart call and never touches the table you counted. Counts are the wrong instrument here; comparing the axis limits against the column's extremes is the right one.
saying these in an interview costs you the question
- Says the rows were filtered out of the dataset itself
- Assumes the limits change nothing the chart derived
- Treats the highest tick as the column's maximum
- Expects clipped marks to pile up at the top edge
- Trusts that a warning would certainly have been shown
- Checks row counts around the chart step as proof