This entry is part of the Chart Index, the reference library for the Chart Design Field Guide.
A hexbin map replaces the irregular polygons of a choropleth with a uniform grid of hexagons. The form solves the choropleth's two structural problems: irregular regions distort visual weight (a large rural county dominates a small urban one), and overplotting destroys raw scatter plots of points. Hexagonal binning is a clean solution to both — every cell is the same size and shape, and millions of points become a smooth coloured surface.
H3 is Uber's open-source hexagonal hierarchical spatial index — a global hexagonal grid that snaps to standardised resolutions. It has become the default for ride-share, logistics, and urban analytics because the cells nest hierarchically and the grid covers the world consistently.
What it is
A hexbin map divides geographic space into a regular grid of hexagons and aggregates points (or values) within each hexagon. Each hexagonal cell is shaded by a quantitative variable: a count of points, a density, an average, a rate. The result reads like a heatmap projected onto geography, with cells of uniform size that the eye compares directly.
Sydney mapped to H3 cells at resolution 8 (roughly 0.7 km² per cell). The cells are shaded by daily pickup count. The CBD dominates as expected; outer suburbs show varying activity bands; gaps reveal water bodies, parks, and industrial areas with no ride-share activity. The hexagonal grid reads as a single coherent surface rather than a patchwork of unrelated polygons.
When to use it
Hexbin and H3 maps are the right choice when:
- You have point-density data that overplots on a scatter map.
- You want uniform spatial resolution to avoid the choropleth's region-size bias.
- The reader's question is "where is activity concentrated, and at what intensity?"
- The dataset is large (10,000+ points) — small datasets do not benefit from binning.
- The application is logistics, urban analytics, or geo-spatial operations where consistent cell sizes matter.
When not to use it
- Few points. A hexbin of 100 points produces mostly-empty cells. Show the points directly.
- Sparse, unevenly-distributed data. Many empty cells make the grid look like noise. Use a scatter or a choropleth.
- When boundaries matter. Hexagons cross political and administrative boundaries; for income by county you need the county shapes.
- Audiences expecting geographic boundaries. A reader who expects to see their suburb may find a hex grid abstract and unfamiliar.
Design principles
Choose resolution to match the question
H3 resolutions range from 0 (continent-sized cells) to 15 (square-meter cells). Pick a resolution where your data populates most cells without smoothing away the spatial pattern. Too coarse and the chart is uninformative; too fine and the chart is sparse.
Use a perceptually uniform palette
Same rule as for choropleths: sequential viridis or single-hue ramp, perceptually uniform. The hexgrid is dense; a non-uniform palette will produce visual cliffs that are not in the data.
Show empty cells when they matter
If a cell is empty because no data, show it as the lightest cell colour or as a faint outline. If a cell is empty because that area is not in scope (water, foreign territory), omit it. The distinction is meaningful and worth designing for.
Label the grid resolution
State the H3 resolution (or hex side length) in the subtitle. A reader needs to know whether a cell represents 100 meters or 10 kilometers. Without that, the chart's spatial meaning is ambiguous.
Provide a scale bar and north arrow
A hex grid without geographic anchors floats in space. A small scale bar (showing kilometers per cell), a north arrow, and a coarse base map outline ground the chart in reality.
Use a small inset showing the wider context
If the hex grid covers a region but readers may not recognise it (an unfamiliar city, a subset of a country), a small inset map showing the area within the broader geography helps orient.
Consider the cell-edge artifact
At hexagon edges, point membership becomes ambiguous (a point exactly on the boundary). For dense data this is invisible; for sparse data it can produce visual noise. Smoothing (bilinear or KDE-like interpolation) can help but adds opacity to the form's claim of each cell is a discrete bin.
Anatomy
A hexbin map's anatomy is a regular hex grid + colour scale + scale bar. The form removes the choropleth's region-size bias and produces a clean density surface.
Related types
- Choropleth — for region-based shading on irregular polygons.
- Density / KDE map — smoothed continuous surface instead of binned cells.
- Dot-density map — for raw count display without binning.
- Square grid map — square cells instead of hexagonal; simpler but with directional bias.
- Cartogram — region areas distorted by value; different solution to the same problem.
Reading list
- Brewer, C. & Pickle, L. (2002). Evaluation of Methods for Classifying Epidemiological Data on Choropleth Maps. The general case for uniform binning.
- Brodlie, K. & Mason, A. (2014). Hexagonal Grids in Visualisation. The theoretical foundation.
- Uber Engineering (2018). H3: Uber's Hexagonal Hierarchical Spatial Index. The H3 spec and implementation.