Isarithmic History of the Two-Party Vote

A few weeks ago, I shared a series of choropleth maps of U.S. presidential election returns, illustrating the relative support for Democratic, Republican, and third Party candidates since 1920. The granularity of these county level results led me to wonder whether it would be possible to develop an isarithmic map of presidential voting using the same data.

Isarithmic maps are essentially topographic or contour maps, wherein a third variable is represented in two dimensions by color, or by contour lines, indicating gradations. I had never seen such a map depicting political data — certainly not election returns, and thus sought to create them.

There is a trade-off between an isarithmic depiction versus a choroplethic depiction, in which a third variable is shown within discrete political boundaries. Namely, that though a politically-delineated presentation better facilitates the connection of the variable of interest to the level at which it was measured, the superimposition of geographically arbitrary political boundaries may cloud the existence of more general regional patterns.

Election-year maps can be seen in a slideshow here (and compared to the three-color choropleth maps here). The isarithmic depiction does an excellent job of highlighting several broad patterns in modern U.S. political history.

2008 Isarithmic MapFirst, it does a good job of depicting local “peaks” and “valleys” of partisan support clustered around urban areas. In the 2008 map, for example, Salt Lake City, Denver, Chicago, Miami, Memphis, and many other cities stand apart from their surrounding environs, highlighted by a relatively intense concentration of voters with distinct partisan leanings. In 1980, this method shows that though Reagan enjoyed broad support in California, the revolution was not felt in the Bay Area.

Comparison of these maps across time also underscores well-known political trends, but offers more resolution than state-level choropleths and greater clarity than county-level choropleths. Note the nearly inverted maps for 1924 and 2004, between which elections the Solid South went from solidly Democratic to solidly Republican. Interestingly, though that particular regional pattern has been remarkably consistent since 1984, the South favored a Democratic candidate as recently as 1980.

These patterns over time are even better observed in motion. Interpolating support between elections, I have generated a video in which these maps shift smoothly from one election year to the next. The result is the story of 20th century presidential politics on a grand scale, condensed into a little 0ver a minute of data visualization.

The video can also be seen at YouTube (I recommend the “expanded” or “full screen” view), or at Vimeo. The images were rendered at 1280 x 720 pixels, to allow the video to be seen in HD.

This animated interpretation accentuates certain phenomena: the breadth and duration of support for Roosevelt, the shift from a Democratic to a Republican South, the move from an ostensibly east-west division to the contemporary coasts-versus-heartland division, and the stability of the latter.

More broadly, this video is a reminder that what constitutes “politics as usual” is always in flux, shifting sometimes abruptly. The landscape of American politics is constantly evolving,  as members of the two great parties battle for electoral supremacy.

Appendix on creating the visualization

Using county-level presidential returns from the CQ Press Voting and Elections Collection, I associated each county’s support in a given election year for the Democratic and Republican candidates with an approximation of that county’s centroid in degrees latitude and longitude, using the shapefiles loaded with the package mapdata.

I then used simple linear interpolation to create a smoothed transition from election-to-election, creating 99-interelectoral estimates of partisanship for each county. Using a custom function and the interp function from akima, I created a spatially smoothed image of interpolated partisanship at points other than the county centroids.

This resulted in inferred votes over the Gulf of Mexico, the Atlantic and Pacific Oceans, the Great Lakes, Canada and Mexico — so I had to clip any interpolated points outside of the U.S. border using the very handy pinpoly function from the spatialkernel package.

Finally, I created a custom color palette, a modification of the RdBu scheme from Colorbrewer, using colorRampPalette(), and plotted the interpolated data along with state borders using the excellent ggplot2.

I would like to note that I would have preferred using the Albers Equal Area Conic projection, but settled on the default Mercator projection, as drawing the Albers map with ggplot2 was prohibitively time-consuming, given that I was generating 2,201 individual frames.

47 thoughts on “Isarithmic History of the Two-Party Vote

  1. This is really great – on the projection: you can do the transform by taking the same map, turning it into an sp object (a SpatialPolygonsDataFrame), projecting it using spTransform, then Hadley’s already made a ‘fortify’ method to extract the polygon coords and you’re good to go. But yeah, I’d definitely recommend using the ‘mapdata’ object instead of a detailed map – they do blow up filesizes! FWIW the USGS (AEA) contiguous states projection string is spTransform(theMap, CRS("+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96"))

  2. Would you care to share your R code? Although you give fairly detailed directives, it would be a great help to me to use your code as guidance.

  3. You can just turn the mapdata object into a spatialpolygonsdataframe and then spTransform with param CRS(“+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96”) — ggplot2 has a fortify method for such objects to extract their coords, then you should be good to go!

  4. It would be interesting to see each year plotted as normalized deviations from the overall vote; as it is, trends over time are somewhat obscured by the overall swings due to candidate and time-specific effects.

    • Dan: You make a good point, and I actually spent a lot of time figuring out the best way to color the maps — I considered both your suggestion, in which the range of partisanship was calculated at each instance in time, and the opposite extreme, in which the range is calculated globally across time. The former is much more visually appealing — there is wide range of color in each image, but the latter is more accurate — in the sense that, for example, 1936 should look all blue, though such maps tend to look washed-out.

      My ultimate decision was the compromise seen in this post, wherein I remain faithful to the overall level of national support for a party, but I somewhat exaggerate the degree of color variance in the plot.

      • this is fairly old, but this is amazing work! I’ve been trying to find a way to show this same trend and include population densities, income levels, education levels or some other additional variable. but have not had nearly the success that you have!

  5. Considering that the Republican candidate won Montana, Idaho, Wyoming, North Dakota, and South Dakota, those states should be slightly red (or at least a neutral color), rather than slightly blue.

  6. Pingback: Evolution of the two-party vote during past century

  7. Pingback: Cent’anni – o quasi – di presidenziali : Tau Zero

  8. I also find it to be more indicative of the home of the presidential (or even vice-presidential) candidates than I had expected (Jimmy Carter, George W…….)

  9. Pingback: Evolution of the Two-Party Vote over the Past Century (David B. Sparks) « Bowdoin Daily Sun

  10. RE: Linear interpolation and your map projection

    First, I like the subject and the attempt. Second, big trouble always lurks when spatial data tied to a geographic coordinate system ( λ , &#966 ) are treated as if they are plotted on a Cartesian grid ( x, y ). Above and beyond the conspicuous distortions in your state shapes and sizes (the Mercator class of map projections creates larger distortions with increasing distance from the equator), your linear interpolation algorithm will, in effect, give more weight to northern and southern neighbors (and less weight to eastern and western neighbors) when it estimates the value for each output grid cell. This bias is much greater at cells in Michigan than it is at cells in Mississippi. Consequently, the spatial pattern you think you “see” in your display might reflect the unwanted distortion pattern as much as it reflects the election geography. Project your data properly – it’ll be worth the effort.

  11. Pingback: Republikanisches Chaos « le’s blog

  12. It would be nice to see a key that changed over time, such as the name of the current president, start wars, constitutional amendments, or perhaps something else that would help give the viewer some context to the year and color.

  13. Pingback: Isarithmic History of the Two-Party Vote in U.S. Presidential Elections « marcussbarber

  14. It’s a little bit confusing that the numbers/colors move continually even though the Presidential elections happen in 4 year increments. Where are you getting your numbers from for the years in between? Polling data? Number of voters of each persuasion for midterm and even odd year local elections? Please elaborate.

  15. Pingback: Isarithmic History of the Two-Party Vote (via David B. Sparks) « Can't Win For Losing

  16. Pingback: Isarithmic History of the Two-Party Vote in U.S. Presidential Elections | world

  17. Pingback: Right Vs Left - How the Republicans and Democrats have moved around the country in the last 90 years

  18. Pingback: Video of the Day: Two-Party System Through the Ages « Chasing Fat Tails

  19. Pingback: Elections as Shifting Colored Maps « William D. Walker

  20. I wonder how you might show the different concentrations in population and their shifts over time. California, for example, experienced a tremendous growth in population, both absolute and relative to the previous centers of population and influence in the east. The same is true to a lesser degree of Texas and the South.

    Carrying California is much more important today then it was in 1920, but the video misses that.

  21. Pingback: Red States Vs. Blue States Timelapse | Cancel The News

  22. Unfortunately, these maps are riddled with errors throughout. One of the most egregious examples is the Deep South in 1964 which the Republican candidate Goldwater largely swept. Mississippi, in particular, was carried by Goldwater with 88% of the vote and yet the state appears light blue. It should be flaming bright red instead. Note also that third parties carried broad swaths of the South in 1948 and 1968 but this important fact is not mentioned on these maps.

  23. Pingback: Fascinating Political Time-lapse | Tannermooredesign

  24. it would be far more useful to depict conservative v. liberal strengths since Republicans have not always been conservative and Democrats have not always been home for liberals. Just showing Democrat votes v Republican votes misses almost all the relevant issues of contention that we should know about.

  25. Pingback: Stunning Animated Time-Lapse Map of Red-Blue America 1920-2008 | ecopolitology

  26. Pingback: An Isarithmic History of the Two-Party Vote - Verities and Vagaries

  27. I appreciate the effort that went into making this project and value how maps can help create understanding. I’ve been using maps since 1994 to show where volunteer-based tutor/mentor programs are needed in Chicago and where existing programs are located. The goal is to help build a better distribution of resources to all of the poverty neighborhoods and all of the programs. You can see my maps at

    Your map project illustrates that there are many ways to create geographic illustrations of information. Keep up the good work.

  28. Pingback: The Two-Party Evolution « The Edit: WFPL's Gabe Bullard blogs the news

  29. These look pretty and interesting, but I can’t quite get my brain to interpret them correctly due to the huge variation in population density in the US.

    I’ve seen a kind of map that deformed the shapes of borders so as to represent a variable via the area of each subdivision (e.g., area of each country proportional to its population) while keeping the general topology as close as possible to the real one. Sorry, I can’t find a link right now.

    Could you perhaps try adapting that to your case? I’m thinking something like this: starting with the normal geographical map, for each step: deform the map to make each subdivision’s area proportional to its population, while keeping the total area constant; color each subdivision as you did here.

  30. Is this adjusted for the national average?

    1980 was the last time a Democrat performed better in the South than nationwide. Reagan won states like Mississippi and Arkansas by a whisker.

  31. Pingback: Red States Vs. Blue States Through History | TLinks.Com Blog Setup

  32. Pingback: Uma pausa na guerra e um video para entender a política dos EUA | Se entrega Corisco eu não me entrego não

  33. Pingback: Isarithmic History of the Two-Party Presidential Vote

  34. Pingback: The history of the two-party vote in one isarithmic visualization : South Capitol Street

  35. Have you seen the Voting America project that was created by the Digital Scholarship Lab at the University of Richmond? It uses similar data, along with many other points of data that can be selected by users to tease out trends. I highly recommend it for researchers looking at US election data over time.

  36. Pingback: Electoral Marimekko Plots « David B. Sparks

  37. Pingback: Sometimes a Weatherman « The Paltry Sapien

  38. Pingback: Kartor, USA och politik | Richard Öhrvall

  39. Pingback: Ape Con Myth › Isarithmic History of the Two-Party Vote

  40. Pingback: The Sunday Paper: December 5, 2010 « Blogging for Michigan

  41. Pingback: Isarithmic Maps of Public Opinion Data « David B. Sparks

  42. Pingback: le's blog » Blog Archive » Republikanisches Chaos -

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s