Data Visualization

Below I’ve included a few of my favorite original graphics, gifs, maps, and charts. Many of these images have appeared in articles, while others were made just for fun. I’ve tried to provide links where applicable.

The work is mainly done in R (specifically ggplot2) or ArcGIS and then touched up with Photoshop as needed.

Line graphs featuring the final set of national and state-level polling averages for Presidential Snapshot in Time, a six-month series of columns I wrote for Inside Elections. Article.
Gif displaying simulated 2022 Senate maps under a range of hypothetical national environment scenarios. Article.
Map comparing New York City’s congressional districts before and after redistricting. Article.
Chart plotting the DW-NOMINATE ideology scores of senators who were thought to be potential candidates in the 2020 Democratic primary. Article.
Dot plot highlighting the steep decline in the number of competitive congressional seats in Texas following redistricting. Article.
Comparison of different polling methodologies in the 2020 presidential election. Notably, Biden held similar leads in polls conducted online and over live telephone, but performed a few points worse in polls administered using interactive voice response (IVR / robocalls). Tweet.
Box plot comparing the predictive performance of different combinations of election results between 2012 and 2020. This was made as part of an Inside Elections contract with Reasonable Districts Colorado following census reapportionment: I built these models to estimate each new congressional seat’s expected competitiveness before presenting in front of Colorado’s independent redistricting commission. Across the four metrics analyzed, Baseline formulas (the three leftmost boxes) were usually the strongest predictors of how a district would vote, Selected Races formulas (the seven middle boxes) were a bit less accurate but varied from formula to formula, and Grouped Years formulas (the two rightmost boxes) were consistently the weakest. Primer.
Plots evaluating each candidate’s county-by-county benchmarks to win the 2021 Georgia Senate runoffs, suggesting wins for both Democratic challengers. Published and updated live throughout election night. Tweet.
Waffle plot of House retirements by party ahead of the 1992 election. 40 Democrats and 24 Republicans retired, and Democrats would go on to lose nine seats in total.
Box plot showing the stability of each presidential candidate’s polling numbers during June 2020. Biden was much more stable. Article.
Choropleth map of the 2020 presidential election in Colorado by precinct.
Line graph comparing the buzz surrounding candidates following their presidential campaign announcements in 2008. Poor Evan Bayh. Article.
Gif map showing how Illinois handled the loss of a congressional district following census reapportionment. (Spoiler: Both parties ended up having to grapple with member-vs.-member primaries.) Article.
Charts comparing the results of previous presidential elections by race, according to the Cooperative Congressional Election Study (CCES). This was a section of my final project for a data visualization class. Storyboard.
Time-series graph illustrating the increasing density of polls over the course of the 2020 presidential cycle. Tweet.
Map showing the changes in Salt Lake County following the congressional redistricting process in Utah. The county now contains portions of all four congressional districts. Article.
Ridgeline plot demonstrating how redistricting can partially serve to pull the average partisanship of a state’s districts back toward the center. Tweet.
Time-series graph tracking the strength (via elo rating) of all ten major professional League of Legends esports teams in North America. The output comes from a model that I run as a hobby.

Updated March 2022.