San Bernardino County, California covers 51,976 square kilometers. It is larger than 9 of the 49 jurisdictions this brief maps, larger than Costa Rica,1 and on any map of the United States it is an unmissable slab of the desert southwest. In November 2024 it cast 740,530 votes for the two major presidential candidates. New York County, New York, the island of Manhattan, covers 58.7 square kilometers, 886 times less, and cast 647,703 votes. Divide votes by land and the two counties are 14 and 11,037 votes per square kilometer.
Now recall the map you saw on election night: nearly the whole country red, with blue at the edges and in specks. It is probably the single most reproduced graphic in American politics, and it is the reason a great many Americans believe the 2024 election was a landslide. The two candidates finished 50.8 to 49.2 in the two-party vote — the votes cast for the Republican and the Democrat, leaving every other candidate aside — a gap of 1.6 points. So the question this brief asks is the one the map plants in every viewer: when a county map is almost all one color, what exactly has been measured?
The map needs three things in the same rows: votes, boundaries, and
land. The votes are the county-by-county 2024 presidential returns
compiled by the researcher Tony McGovern and downloadable at https://github.com/tonmcg/US_County_Level_Election_Results_08-24.
The federal government does not publish county-level
presidential returns, so every national county map rests on
somebody’s private reconciliation of fifty-one state publications. This
compiler’s README — the note a person who publishes a data file writes
to explain what is in it and where it came from — says his 2024 figures
were copied from Fox News’s results pages and are not authoritative. Why
that is the ordinary condition of American election data is the returns-source
chapter’s subject. The boundaries and the land areas are federal:
the Census Bureau’s 2024 cartographic boundary file, the Bureau’s
simplified outline of every county, drawn for making maps rather than
for surveying and downloadable from its cartographic boundary files
page.2
Its ALAND field is the Bureau’s own measurement of each
county’s land in square meters, stored beside the outline rather than
derived from it.
Counties are the right unit because they are the only one that works. States are too few and too internally mixed to show that color tracks acreage; precincts are not published nationally, and no federal file measures their land. Land, votes and boundaries meet at the county or nowhere. And because the county-returns brief has since assembled the same election from the fifty-one chief election offices, the compilation can now be measured against the certified record rather than merely doubted.
The returns are matched to the boundaries row by row on the county’s
five-digit FIPS code, the number the federal government assigns to every
county so that files from different agencies can be lined up,3 read as
text, never as a number. About a seventh of the codes
begin with a zero, and a numeric read drops it: 01001,
Autauga County, Alabama, becomes 1001, a county in Georgia.
Three places refuse the match, and each was settled by a documented
decision:
| Where the sources disagree | What goes wrong | What was done about it |
|---|---|---|
| Alaska | The returns report 40 State House Districts under invented FIPS codes; the geography file has 30 boroughs and census areas | Dropped whole (324,097 votes), along with Hawaii, which is outside the frame |
| District of Columbia | The returns report 8 wards, and 11001 means Ward 1, not the District | The 8 wards summed back to one District (325,869 votes) |
| Connecticut | The counties were abolished in 2022 and replaced by 9 planning regions | Nothing: the 2024 boundary file already reports the 9 regions, so the vintages agree |
The District is the dangerous one, because it fails silently.
11001 is present in both files, meaning Ward 1 in the
returns and the whole District in the geography, so the match
succeeds and quietly discards 285,406 votes. The repair,
summing the 8 wards back into one District, is one line. Knowing the
line is needed is the whole job. Alaska cannot be repaired that way, so
it is dropped whole, with Hawaii, which is outside the frame:
| Why it is not on the map | Units | Votes involved |
|---|---|---|
| Alaska reports 40 State House Districts; the geography file has 30 boroughs | 40 | 324,097 |
| Hawaii lies outside the frame this map draws | 4 | 516,701 |
| summed into the District of Columbia, which is one unit in the geography | 7 | 285,406 |
Every excluded unit is named individually, 51 rows carrying 1,126,204
votes, so the size of the hole sits on the page rather than in a
footnote. What survives is 3,109 rows in counties.csv, one
per county of the 48 contiguous states plus the District. Here is
one:
| Fips | Name | Dem | Rep | Total | Winner | Land km2 |
|---|---|---|---|---|---|---|
| 11001 | District of Columbia | 294,185 | 21,076 | 325,869 | D | 158.3 |
Each row carries the identifiers, the two vote columns and their
total, the winner, the margin, the Bureau’s
aland_km2, and density, votes per square
kilometer. A pop column from the Bureau’s 2020 population
file covers 3,100 of the 3,109 units, because that file predates
Connecticut’s 9 planning regions. Every headline number below is land,
counties or votes, which exist for all of them. The outlines were
simplified for drawing, keeping 31.9% of their 208,983 corner points.
That changes how the map looks and nothing it reports: every number
below comes from the Bureau’s ALAND field rather than from
the drawn outline, and parity.csv confirms it by
recomputing each share from the simplified outlines, where the largest
difference is 0.
One more check, because the vote column is a press reconstruction. Put the mapped units against the certified assembly in the county-returns brief: 3,094 of 3,109 can be compared, and 47 disagree on a major-party count. One of those is a boundary dispute about Kansas City rather than an error. The land-per-vote ratio this brief turns on, introduced below, moves from 5.63 to 5.60 depending on which file you believe, which is to say it does not move. The doubt is measured now, not merely declared.
Before you read on, commit to a number. Trump carried 2,661 of the 3,109 counties on the map below – 85.6% of them, and 85.7% of the land. What share of the votes on this map were cast inside those 2,661 counties? Not what share Trump won: what share of all the two-party ballots on the map were cast anywhere inside a county he carried. Write down a percentage before you read on.
Figure 1. The 2024 presidential result, one color per county. A choropleth, a map that fills each area with a color, fits the question who carried the ground you are standing on, which is the question this figure answers and the only one. All 3,109 counties are filled with the color of the candidate who carried them, on an equal-area projection — a way of flattening the round earth onto a page that keeps every area in true proportion — so a square centimeter of paper is the same number of square kilometers everywhere on the page. Trump carried 2,661 counties, 85.6%, covering 85.7% of the land; Harris carried 448, covering 14.3%.
Every county in Figure 1 is the correct color. No boundary is wrong, no result is misreported, and no projection trick has been played. The mechanism is not subtle once it is stated. A map that fills areas with color encodes area, and the eye adds it up whether or not you asked it to. Area is a property of the ground, not of the people standing on it. Here is the same election as a ledger instead of a picture:
| Quantity | Carried by Trump | Carried by Harris |
|---|---|---|
| Counties | 2,661 (85.6%) | 448 (14.4%) |
| Land area | 6,560,363 km² (85.7%) | 1,095,132 km² (14.3%) |
| Population, 2020 | 162,136,344 (49.8%) | 163,518,331 (50.2%) |
| Votes cast for the two candidates | 77,475,680 (51.1%) | 73,995,056 (48.9%) |
Read the second and third rows together. Trump’s counties are 85.7% of the land and hold 49.8% of the people. The map is not misdrawn; it is drawing the land row while the reader is reading the people row. Put it as a rate. Trump’s counties cover 6,560,363 square kilometers and cast 77,475,680 two-party votes; divide the first by the second and every vote Trump won sits on an average of 0.085 square kilometers of map. Harris’s counties cover 1,095,132 square kilometers and cast 73,995,056 votes, so every vote she won sits on 0.015. Divide the two rates and a Trump vote is drawn 5.7 times larger than a Harris vote. No chart anywhere may distort the size of its marks by 5.7 to 1 without saying so in the legend, and this one never says so.
The answer to the prompt above follows from where people live. Sorting the counties from the fewest votes to the most and adding as you go:
| Quantity | Value |
|---|---|
| Counties casting half the two-party vote (largest first) | 161 |
| Land those counties cover | 6.6% of the total |
| Counties casting the other half | 2,948 |
| Land those counties cover | 93.4% of the total |
| Median county, two-party votes | 12,449 |
| Median county, land area | 1,581 km² |
The emptier half of the counties hold 66.1% of the country’s land and 7.8% of its votes. 161 counties cast half of every ballot on this map, on 6.6% of its surface. So the answer is: 85.6% of the counties, 85.7% of the land — and 51.1% of the votes. Most readers write down something in the seventies or eighties, and the gap between that guess and 51.1 is this brief’s entire subject. The 448 blue counties are 48.9% of the electorate sitting on 14.3% of the ground.
Now draw the same table so that the ink tells the truth about votes. Each county becomes a circle whose area is proportional to the votes cast there; circles keep their positions as nearly as they can and are pushed apart until they stop overlapping. This is a Dorling cartogram — a cartogram is a map that sizes places by a quantity instead of by their ground, and Danny Dorling’s version, from 1996, is the one that replaces each place with a circle.4 Not one vote has been added, removed or recounted.
Figure 2. The same 3,109 counties, with area proportional to votes. The radius is one constant times the square root of the county’s two-party vote — the square root because a circle’s area grows with the square of its radius, and it is the area, not the width, that must track the votes — so one square unit of circle is 149 votes anywhere on the page. The largest circle is Los Angeles County, California, at 3,606,971 votes. Red now covers 50.8% of the ink because Trump won 50.8% of the two-party vote. You cannot look at this map and think the election was a landslide, because the ink is reporting the result rather than the terrain.
Figure 2 is not a better map than Figure 1. It is a map of a different quantity, and the quantity happens to be the one an election is decided by. The price is real and measurable: the nudging moved the middle county 10.8 km from its true position and the furthest 370 km, and it stopped with 584 of 45,233 tested pairs still touching. Shape, adjacency and the ability to find your own county are gone. And the eye judges area badly: shown one circle with twice the area of another, viewers reliably underestimate the difference, a result that experiments in graphical perception have confirmed for decades.5 Figure 2 is defensible only because the alternative is an encoding that is off by a factor of 5.7, not because area is a good channel.
Neither map is the repair for the other. A cartogram does not remove distortion; it chooses a different one. All the drawings are true, and none of them is the map. Which one gets published is a decision about what the reader will believe, and in most newsrooms it is made by whoever happens to own the template.
It cannot tell you the choropleth is a lie. Figure 1 answers who carried this ground, and for county politics or the geography of a party’s base that is exactly the right question. The failure is in reading it as an answer to how did the country vote, which is a different question with a different bottom number underneath it.
It cannot certify any particular county. The vote column is a press reconstruction; 47 of the 3,094 checkable counties disagree with the state canvasses on a major-party count. The aggregate survives, because a county would have to be wrong by the size of a city to move it. A sentence about one county should come from that state’s certified return instead.
It cannot say counties are the right unit. They vary by a factor of 37,573 in electorate, they were drawn for administrative reasons, and the same election added up over different boundaries would give a different picture. That is the modifiable areal unit problem, the answer depending on how you cut the country up, and the areal-units brief takes it apart properly.
And it is not how the president is chosen. Electors are allocated by state, the level the electoral-map brief works at. The fill here is also binary, painting a 0.03-point county the same shade as a 93-point one. Alaska and Hawaii, 0.5% of the national ballots, are absent from every figure and every number, so this is a map of the contiguous states. And one election is one election: the concentration measured above is a fact about November 2024, not a law of American geography.
lorenz.csv accumulates cum_land and
cum_votes together, county by county. Find the point where
half the land has been covered. What share of the votes is in it?counties.csv has aland_km2,
votes_tot and density. Sort by
density and compare the extremes. How many of the emptiest
counties add up to one Manhattan?excluded.csv lists the units that could not be mapped,
each with a reason and its votes. Add them up.
How many real voters vanish from a map of the country?parity.csv compares, in difference, the
headline numbers before and after the outlines were thinned. Nothing
moved. Work out what a difference there would have meant.Data
pres2024_counties.csv (3,160 rows). The
compiler’s README says the 2024 figures were copied from Fox News’s
results pages, the 2020 figures from Fox News, Politico and the New York
Times, and that the figures are not authoritative.
There is no federal publisher of county-level presidential returns. This
is the file every figure in this brief is drawn from.pres2024_counties_official.csv and its 2020 companion,
3,197 rows each, assembled by the county-returns
brief with one row per jurisdiction recording the URL, the format,
and whether the state calls the figures certified. Used here as a ruler
and not as a source of paint: no figure is drawn from it.crosscheck_ap_2024.csv (51 rows). Used only
to score the two county files against a third that neither was built
from.ALAND land areas. The Bureau describes
the series at https://www.census.gov/geographies/mapping-files/time-series/geo/cartographic-boundary.html.The data itself
Every figure above is drawn from these tables. They are plain CSV, they open in a spreadsheet, and they are yours to take further.
counties.csv, county_rings.csv,
dorling.csv, excluded.csv, grid_cells.csv, lorenz.csv, parity.csv, state_rings.csv
One more file is not data about the subject – it is how this chapter
checked its own numbers: facts.csv, the individual
numbers the text above quotes.
Method
I want to rebuild a public dataset from its original sources, without any starting files. Please do the following and show your work. THE FIRST SOURCE. U.S. Census Bureau, cartographic boundary file for counties, 1:5,000,000 scale, 2024 vintage: https://www2.census.gov/geo/tiger/GENZ2024/shp/cb_2024_us_county_5m.zip A zip holding one shapefile; each feature is a county or county-equivalent, with its code, name, and land area. No account or key is needed. THE SECOND SOURCE. The Bureau's 2020 county population centroids -- the mean center of population for every county -- a plain text file: https://www2.census.gov/geo/docs/reference/cenpop2020/county/CenPop2020_Mean_CO.txt THE THIRD SOURCE. County-level 2024 presidential returns from the tonmcg compilation on GitHub (tonmcg/US_County_Level_Election_Results_08-24), the 2024 CSV downloaded raw from the master branch: one row per county with Democratic, Republican, and total votes. WHAT TO BUILD. 1. A map frame: every county that can be drawn and joined to a return -- code, name, state, votes, winner, land area, and density -- dropping territories and units the returns file does not carry. 2. The land-against-people arithmetic that maps of this election encode: the share of counties and of land area carried by each party, next to the share of actual votes. CHECK YOUR WORK. The copies this book used were downloaded in August 2026. If your rebuild matches them, you should find: - the boundary zip is 2,982,952 bytes and holds 3,235 features; after the drops, 3,109 counties are mapped and 126 features are set aside - the returns file has 3,160 rows carrying 154,863,739 votes - the centroid file has 3,221 rows - the Republican candidate carries 2,661 of the 3,109 counties -- 6,560,363 of 7,655,495 square kilometers of land -- while winning about half the vote; that gap is the point The Bureau reissues the boundary and centroid files by vintage, and the compilation can change without notice; a difference means a source moved, not that you made an error.
Costa Rica’s land area is about 51,000 square kilometers: Central Intelligence Agency, The World Factbook, “Costa Rica,” https://www.cia.gov/the-world-factbook/countries/costa-rica/.↩︎
U.S. Census Bureau, “Cartographic Boundary Files,” https://www.census.gov/geographies/mapping-files/time-series/geo/cartographic-boundary.html.↩︎
U.S. Census Bureau, “Understanding Geographic Identifiers (GEOIDs),” https://www.census.gov/programs-surveys/geography/guidance/geo-identifiers.html.↩︎
Danny Dorling, Area Cartograms: Their Use and Creation, Concepts and Techniques in Modern Geography 59 (Norwich: University of East Anglia, 1996), https://www.dannydorling.org/wp-content/files/dannydorling_publication_id1448.pdf.↩︎
William S. Cleveland and Robert McGill, “Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods,” Journal of the American Statistical Association 79, no. 387 (1984): 531–554, https://www.jstor.org/stable/2288400.↩︎