Circle area is proportional to households reached — not geographic area. Overlapping bubbles indicate high-density aid corridors. Data: simulated SNAP reach, FY 2024.
A Bubble Map (also called a Proportional Symbol Map) encodes a quantitative variable as the area of a circle placed at a geographic centroid. The fundamental rule is that circle area — not radius — must be proportional to the data value. This is achieved using a square-root scale: because perceived area scales with r², mapping radius linearly would make large values appear quadratically dominant and collapse small values to near-invisibility.
The encoding decouples visual weight from geographic area entirely. Wyoming and Rhode Island receive equally legible circles regardless of how much land each occupies. A choropleth map, by contrast, conflates polygon size with data magnitude — large states appear data-rich simply because they occupy more canvas.
This example shows simulated SNAP (Supplemental Nutrition Assistance Program) household reach by U.S. state for FY 2024. California (3.84M households) and Texas (3.21M) dominate the map visually — as they should, since together they account for nearly half of all disbursements nationally. The top-5 filter highlights these headline states while preserving geographic context for the rest of the country. Hover any bubble to see state-level breakdown including year-over-year change and HHS region.
A proportional symbol map encodes a quantitative variable as the area of a circle placed at a geographic centroid. The active perceptual channel is 2D size estimation — viewers compare circle footprints to judge relative magnitude. Because the symbol is anchored to a point rather than filling the administrative polygon, the encoding decouples visual weight from geographic area entirely. Wyoming and Rhode Island receive equally legible circles regardless of how much land each occupies.
This chart type belongs to the FT Visual Vocabulary's Spatial category, specifically proportional symbol. Its task is singular and non-negotiable: show magnitude at place. It implies no rate, no density, no administrative share — only absolute counts at geographic locations.
The message is about absolute reach — how many households were served, not how many per capita or per square mile. That distinction immediately disqualifies the choropleth: choropleth shading implies proportion relative to the polygon's area, which forces viewers to mentally normalize every shade against state population or geography. That cognitive burden belongs to the chart, not the viewer. The bubble map carries it by encoding raw count directly in circle area, leaving the viewer free to compare size.
The primary flaw of bubble maps — overlap in high-density regions — is addressed in three layers here. Partial fill opacity (0.48) ensures overlapping bubbles remain visually distinguishable. A contrasting stroke at 0.82 opacity preserves circle boundaries even under overlap. And a "top 5 states" filter dims all non-highlighted bubbles when the full field feels crowded, surfacing the headline states without removing geographic context.
A choropleth of raw household counts would make Montana appear data-rich — large, mid-tone polygon — when its absolute count is among the lowest in the dataset. Texas's dominance would be undercut by the visual mass of vast, sparsely-populated Western states. The choropleth's failure mode here is area conflation: polygon darkness reads as magnitude, but polygon size is geographically determined, not data-determined. The message — California and Texas absorb nearly half of all disbursements — becomes nearly unreadable without normalization to per-capita rates, which changes the question entirely.
The FT Visual Vocabulary separates proportional symbols from choropleths on exactly this axis: use a choropleth for rates and ratios bounded by administrative units; use a proportional symbol for totals and absolute counts at a centroid. The operative test — does the polygon's area carry information about the variable? If no, remove it from the encoding channel and place a symbol at the centroid instead.
Circle radius is set via d3.scaleSqrt(), which maps sqrt(value) to a pixel range. This is non-negotiable for proportional symbol maps. Because perceived area scales with r², naive linear radius encoding would make the largest bubble appear quadratically dominant and collapse small values into near-invisibility. The square-root mapping ensures a state with twice the households receives a circle with twice the area — which is what the FT Visual Vocabulary and Flannery (1956) both require for honest proportional symbol encoding.