Visual walkthrough — Range — definition and calculation
This page rebuilds the range from nothing but a number line and a pile of data points. No formula is used before you see why it must look the way it does. Every step tells you WHAT we just did, WHY we did it, and WHAT IT LOOKS LIKE.
Step 1 — Put the data on a number line
WHAT. Take a small dataset and drop each number as a dot on a horizontal line.
WHY. A number line is a straight line where position means value: the further right a dot sits, the bigger the number. Before we can talk about "spread", we need spread to be something we can literally see as distance. A number line turns "how far apart" into "how many centimetres apart on the picture".
PICTURE. Below, the dataset (test marks) becomes five blue dots.

Step 2 — Sort the dots so the extremes stand out
WHAT. Slide the same dots into increasing order, left to right, without changing their values.
WHY. "Spread" lives at the ends. If the dots are shuffled, the smallest and largest are hard to spot. Once sorted, the smallest is automatically the leftmost dot and the largest is automatically the rightmost dot. Sorting doesn't change any number — it only makes the two we care about impossible to miss.
PICTURE. Same five marks, now in order . The far-left dot is coloured green, the far-right dot orange.

Step 3 — The two extremes are all that "spread" needs
WHAT. Erase every dot except the leftmost (green ) and rightmost (orange ).
WHY. Here is the key idea of the whole page: the most extreme spread possible in the data is the gap between its furthest-apart points. No two dots can be further apart than the smallest and the largest, because everything else sits between them. So to measure the maximum stretch, the middle dots are irrelevant — we throw them away.
PICTURE. The faded grey dots are the middle values we discard; only the green and orange survivors matter for the span.

Step 4 — Measure the gap as a distance
WHAT. Draw the arrow that reaches from the green dot to the orange dot, and ask how long it is.
WHY. On a number line, the distance between two points is how far you travel to get from one to the other. We use subtraction because subtraction on a number line answers exactly the question "how far is right-point beyond left-point?" We don't add them — adding would give a meaningless total ( tells you nothing about a gap). The gap is a difference.
PICTURE. The orange arrow spans from to ; its length is the number we're after.

Step 5 — Name it: this distance is the Range
WHAT. We give the arrow's length its official name.
WHY. We built exactly the quantity that answers our Step-1 question ("how stretched out?"). Naming it lets us reuse it. Because we always take the right end minus the left end, and the right end is never smaller than the left, the answer can never come out negative.
PICTURE. The final labelled span — the orange arrow is now stamped "Range".

Step 6 — Edge case: what if two dots land on top of each other?
WHAT. Take a dataset where the biggest value appears twice, e.g. wages .
WHY. A repeated value is a degenerate case people worry about ("do I count 150 three times?"). The picture settles it: repeats stack on the same spot on the number line. The leftmost occupied spot is still the minimum; the rightmost is still the maximum. Duplicates never move the ends, so they never change the range.
PICTURE. Three dots pile up at ; the span still runs from to .

Step 7 — Edge case: negatives, and the "double-minus"
WHAT. Use winter temperatures , where the minimum sits left of zero.
WHY. Negative numbers scare people, but the number line doesn't care about the sign of zero — it just knows position. The green dot is now to the left of . The distance is still "right end minus left end", and subtracting a negative slides the arrow longer, because : peeling a minus off a minus flips it to a plus. The picture makes this un-mysterious — the arrow simply crosses zero.
PICTURE. The orange arrow stretches from across up to .

Step 8 — The blind spot: same range, different data
WHAT. Compare two datasets that have the identical range but look completely different: and — both span .
WHY. This is the honest disclaimer of the range. Because Step 3 threw away the middle, range cannot tell these two apart. The top row bunches near the bottom with one lonely outlier at ; the bottom row is evenly stretched. Same green and orange endpoints ⇒ same range ⇒ range is blind to the shape between the ends.
PICTURE. Two number lines, same span drawn, wildly different dot patterns inside.

Step 9 — Degenerate case: all values equal ⇒ range is zero
WHAT. Every value is the same, e.g. .
WHY. This is the smallest possible range — the limiting case at the bottom. If nothing varies, all dots land on one spot, so , and their difference is . Zero range is the picture of "no spread at all". It also proves the promise that range is never negative: it bottoms out exactly at and can only go up from there.
PICTURE. One dot, no arrow — the span has collapsed to a point.

The one-picture summary
Everything above, stacked into a single figure: sort → keep the two ends → subtract → that arrow is the range, with the edge cases (repeats, negatives, all-equal) shown as variations of the same arrow.

Recall Feynman retelling (say it back in plain words)
I laid my numbers out as dots on a line, so "far apart" became real distance I could point at. I slid them into order — now the smallest is on the far left, the biggest on the far right. Everything in the middle sits between those two, so the most stretched-out thing in my data is just the gap from the left dot to the right dot. To measure that gap I take big minus small (subtracting because a gap is a difference, and big-minus-small so the answer can't be negative). That number, in the data's own units, is the range. Repeats don't matter (they stack on the same spot). Negatives just push the left dot past zero, which makes the arrow longer — and subtracting a negative turns into adding. If every number is the same, the arrow has zero length, which is why range can never dip below zero. The catch: because I ignored the middle dots, two very different datasets can share the same range — so range is a quick, honest measure of the extremes, but it stays silent about the shape in between.
Recall
What single question does range answer? ::: How stretched out is the data, from smallest to largest? Why subtract instead of add the extremes? ::: A gap is a difference; adding gives a meaningless total. Why big minus small (not small minus big)? ::: So the answer is a distance, which can never be negative. Why can range be blind to two different datasets? ::: It only uses the two endpoints and ignores every middle value. What is the smallest range possible, and when? ::: , when every value is identical so .