# Max Normalization in Map Visualizations

> Max normalization divides each value by the highest value in the selected set. Interpreting the resulting map colors requires attention to outliers, comparisons across periods, missing values, negative data, and denominator choice.

- Author: Muhammet Ali Köker
- Language: en
- Canonical: https://alikoker.com.tr/en/meaning-and-limitations-of-max-normalization-in-map-visualizations
- Translation: https://alikoker.com.tr/haritalarda-maksimuma-gore-normalizasyon
- Published: 2026-07-27T12:00:00+03:00
- Modified: 2026-08-19T01:16:22+03:00
- Verified: 2026-08-07T11:00:00+03:00
- Type: article

## Relative intensity and total share

Displaying the unit with the maximum value as 100 percent and in the darkest color is based on the following transformation:

```text
rᵢ = xᵢ / xₘₐₓ
```

Here, `xᵢ` is the observation value of unit `i`; `xₘₐₓ` is the highest value among displayed units; and `rᵢ` is relative intensity in the `[0,1]` interval. Its percentage representation is:

```text
pᵢ = 100 × xᵢ / xₘₐₓ
```

This operation is max normalization or max scaling. It differs from min-max normalization, which uses both the minimum and maximum values:

zᵢ = (xᵢ - xₘᵢₙ) / (xₘₐₓ - xₘᵢₙ)

In max normalization, zero is treated as the natural lower bound and the minimum value does not enter the transformation. The darkest unit being 100 percent does not indicate absolute success, full occupancy, or full theoretical capacity. It expresses only a relative position against the highest observation in the selected dataset.

Share of the total is a different measure:

```text
sᵢ = xᵢ / Σxⱼ
```

When `A = 100`, `B = 50`, and `C = 50`, max scaling produces 100 percent for A and 50 percent for B and C. Their shares of the total are 50 percent, 25 percent, and 25 percent, respectively. Therefore, displaying B as 50 percent does not mean that B accounts for half of the total data.

The map legend should state the reference explicitly: "Color intensity has been calculated using the highest unit value in the selected period as the reference." Absolute value, intensity relative to the highest unit, and share of the total should be presented in separate fields:

- Value: 12.480
- Intensity relative to the highest unit: %63
- Share of the national total: %4,8

## Color mapping and outliers

The normalized `[0,1]` value is not yet a color. Color conversion is a separate function:

```text
cᵢ = C(rᵢ)
```

`C` is the function that maps a normalized value to a particular color shade. For linear grayscale or single-hue intensity, color channels can be calculated as follows:

channelᵢ = channelₘᵢₙ +
 rᵢ × (channelₘₐₓ - channelₘᵢₙ)

Equal numerical steps in RGB space do not always create equal perceptual differences. Therefore, perceptually ordered color sequences progressing from light to dark should be preferred.

- A sequential color scale is suitable for values that start at zero and only increase.
- A diverging color scale is required for positive and negative deviations on opposite sides of a reference point.
- Categorical colors should be used for unordered classes.

Max normalization is generally suitable for sequential data satisfying `0 ≤ xᵢ ≤ xₘₐₓ`. With negative values, `xᵢ / xₘₐₓ` does not produce a meaningful `[0,1]` scale. Values of `-20`, `10`, and `40` produce `-0,5`, `0,25`, and `1`, respectively. Where zero is not the natural reference, the following transformations may be more appropriate:

```text
dᵢ = xᵢ - x̄

zᵢ = (xᵢ - x̄) / σ
```

In the dataset `10, 12, 14, 16, 18, 200`, the first five values lie between `0,05` and `0,09`, while the last value is `1,00`. The first five units are compressed into the light part of the color scale, although `18 / 10 = 1,8` indicates approximately 80 percent variation among them.

An upper percentile can be used as the visual upper bound:

```text
u = P₉₅(x)
rᵢ = min(xᵢ / u, 1)
```

Under this approach, values above the 95th percentile are clipped to the darkest shade. A logarithmic transformation distinguishes low and middle values over wide ranges:

rᵢ = log(1 + xᵢ) / log(1 + xₘₐₓ)

A square-root transformation provides gentler compression:

```text
rᵢ = √xᵢ / √xₘₐₓ
```

Linear max scaling is intended to preserve absolute magnitude ratios; logarithmic or square-root scaling distinguishes low values in long-tailed distributions; percentile clipping manages the effect of outliers. Quantile or natural-break classification can be used when the distribution is presented in classes.

## Period comparisons and data validity

If each map is rescaled by its own maximum, colors indicate relative position only within the relevant map. If the January maximum is `1.000` and the February maximum is `2.000`, a unit valued at `800` in January has intensity `800 / 1000 = 0,80`; a unit valued at `1.000` in February has intensity `1000 / 2000 = 0,50`. Although the absolute value increases, the color may become lighter because relative position declines.

color change ≠ absolute value change

A fixed reference should be used for colors comparable over time:

```text
rᵢ,t = xᵢ,t / R
```

`R` may be the common maximum of all periods, institutional capacity, a target or threshold, the maximum of a specified reference period, or a fixed upper bound. A dynamic maximum compares units within the same period. A fixed maximum compares absolute change across periods.

Zero, `NULL`, missing data, and an error are distinct conditions. In particular, `Number(null)` producing `0` may cause missing data to be visualized as an actual zero. Validation should cover whether the value is numeric and finite, whether negative values are valid, whether the field exists, and whether measurement was completed.

Missing data should not be shown with the lightest shade. If the lightest shade represents actual zero, missing values require a separate neutral color or pattern. Division is undefined when the maximum is zero; the rule `xₘₐₓ = 0 ise rᵢ = 0` should be applied only after confirming that all valid values are genuinely measured zeros. Invalid negative values should not be silently clipped to zero.

## Denominator selection

Raw totals can make large administrative or operational units appear naturally darker. Event counts can be affected by population, staff, devices, processing capacity, or record volume. A denominator-based rate can therefore be used:

```text
qᵢ = xᵢ / bᵢ
```

A rate per one hundred thousand people is:

```text
qᵢ = 100000 × xᵢ / nüfusᵢ
```

This rate can then be normalized:

```text
rᵢ = qᵢ / max(q)
```

Raw totals indicate where workload accumulates, per-unit rates indicate where relative intensity is high, and capacity ratios indicate which unit is closer to its limit. Normalization cannot correct an incorrectly selected denominator:

raw data
→ meaningful metric
→ statistical transformation
→ color mapping

Linear max scaling preserves ratios:

```text
xₐ / xᵦ = rₐ / rᵦ
```

However, color differences do not communicate numerical distances with the same precision. A map strongly shows high and low units, geographic concentration, clusters, and outliers; by itself, it does not show the exact difference between two units, the exact share of the total, statistical significance, or the cause of change.

The method has complexity `O(n)`: the maximum is found in one pass and ratios are calculated in a second pass. A reliable implementation must explicitly define the reference set and maximum, missing-data behavior, the zero-maximum rule, policy for negative values and outliers, scaling policy across periods, and the color conversion function. If the maximum is recalculated when a filter changes, the color of a unit with an unchanged value may change; this is not an error but the result of relative comparison within the selected subset.

## References

- **[1]** Mark Harrower; Cynthia A. Brewer. (2011). ColorBrewer.org: An Online Tool for Selecting Colour Schemes for Maps. The Map Reader, Wiley. [doi:10.1002/9780470979587.ch34](https://doi.org/10.1002/9780470979587.ch34)
- **[2]** Terry A. Slocum; Robert B. McMaster; Fritz C. Kessler; Hugh H. Howard. (2009). Thematic Cartography and Geovisualization, Third Edition. Pearson.

## Cite This Work

Köker, M. A. (2026). Max Normalization in Map Visualizations. alikoker.com.tr. https://alikoker.com.tr/en/meaning-and-limitations-of-max-normalization-in-map-visualizations

- BibTeX: https://alikoker.com.tr/en/meaning-and-limitations-of-max-normalization-in-map-visualizations.bib
- RIS: https://alikoker.com.tr/en/meaning-and-limitations-of-max-normalization-in-map-visualizations.ris
- CSL-JSON: https://alikoker.com.tr/en/meaning-and-limitations-of-max-normalization-in-map-visualizations.csl.json
