2022 U.S. Election Visualizations

Christopher G. Healey
Department of Computer Science, North Carolina State University

Fig. 1. Election results for North Carolina (larger image), each of the 14 congressional districts are subdivided into four quadrants to show which party's candidate the district's voters selected for the 2022 Presidential election (upper-left quadrant), the 2022 U.S. Senate election (upper-right), 2022 U.S. House election (lower-right), and the 2022 Governor election (lower-left); color represents party (blue for Democrat, red for Republican, green for Independent), and saturation represents the winning percentage (more saturated for higher percentages); the small disc floating over the state shows aggregated state-wide results; incumbent losses are highlighted with textured X's; the height of the state represents the number of electoral college votes it controls

Maps of other states and the United States as a whole are available at the bottom of the web page:

Results for the 2020–2021 election cycle are archived here.


Research in our laboratory focuses on visualization, the conversion of large collections of strings and numbers into images that viewers can use to explore, analyze, and validate within their data. We are particularly interested in multidimensional visualization techniques. A multidimensional dataset D contains m data elements, D = { e1, ..., em }, representing n data attributes A = ( A1, ..., An ), that is, ei = ( ai,1, ..., ai,n ), ai,jAj. The challenge is to find effective ways to present even some of this data together in a single image.

U.S. Election Results


Fig. 2. (a) Arizona (larger image); (b) New York 2022 (larger image)
Our practical interest during this project is to study how groups of individuals vote for different elected offices. Although it is common to refer to a state as "red" or "blue", very few states fit this simple dichotomy. For example, Arizona, a "red state", chose a majority of Republican House members, but voted Democratic state-wide for President, U.S. Senate, and Governor. (Fig. 2a). New York, a "blue state", voted statewide Democratic for President, Senate, and Governor, with a majority of Democratic House seats, but also elected numerous Repubican House members and voted Republican in many Congressional districts for President, U.S. Senate, and Governor (Fig. 2b).

In order to investigate voting patterns across the United States, we decided to visualize winning candidates for four elected offices: the most recent Presidential, U.S. Senate, U.S. House, and state Governor's elections. Results were tabulated by congressional district: for each of the 435 districts spread throughout the 50 United States, we collected or estimated which party's candidate the district's voters selected for each of the four offices. Incumbent party losses are particularly important, since they can change the balance of power throughout the country. We therefore wanted to highlight where an incumbent lost during an election cycle for President, U.S. Senate, U.S. House, and state Governor races.

Although results presented by congressional district are novel and interesting, we also need to show aggregates for each state, for example, which party's candidate won the state for the Presidential, U.S. House, and Governor elections. These aggregates would be difficult or impossible to determine by looking at district results alone. A final state-specific value we wanted to visualize is the number of electoral college votes each state controls, since this affects the state's influence during the Presidential election.

Given these requirements, we built a dataset with two types of data elements representing congressional district results and state-wide results, respectively. Congressional district data elements contain nine data attribute values, and state-wide data elements contain eleven data attributes:

District data attributes:

  • A1, President winning party
  • A2, President winning percentage
  • A3, U.S. Senate winning party
  • A4, U.S. Senate winning percentage
  • A5, U.S. House winning party
  • A6, U.S. House winning percentage
  • A7, state Governor winning party
  • A8, state Governor winning percentage
  • A9, U.S. House incumbent win/loss

State-wide data attributes:

  • A1, President winning party
  • A2, President winning percentage
  • A3, U.S. Senate winning party
  • A4, U.S. Senate winning percentage
  • A5, party with the majority of the state's U.S. House seats
  • A6, percentage of the state's U.S. House seats controlled by the majority party
  • A7, state Governor winning party
  • A8, state Governor winning percentage
  • A9, U.S. Senate incumbent win/loss
  • A10, state Governor incumbent win/loss
  • A11, state electoral college vote count

To visualize district data elements, each congressional district is subdivided into four quadrants representing the four elections of interest: President (upper-left), U.S. Senate (upper-right), U.S. House (lower-right), and Governor (lower-left). Within each quadrant, color is used to denote the winning candidate's party: blue for Democrat, red for Republican, and green for Independent. Saturation represents the winning percentage: more saturated colors are shown for higher percentages. If the incumbent party lost the district's U.S. House seat during the 2018 election cycle, the U.S. House quadrant is textured with small X's. In Fig. 2a, three of Arizona's House districts (the first, second, and ninth, lower-right quadrant) use textured X's to show control of these seats flipped from Democratic to Republican. Statewide results are shown in the small floating "aggregate disc" in the center of the state. The aggregate disc shows two blue textured regions (upper-left and lower-left) highlighting a switch from statewide Republican to Finally, the height of the state represents the number of electoral college votes it controls. This can be seen by comparing Arizona's height, with 9 congressional districts (11 electoral college votes, Fig. 2a), to New York's, with 27 congressional districts (29 electoral college votes, Fig. 2b).

Trend Maps

Fig 4. (a) Presidental trend map showing voting directions during the 2008 election cycle, blue regions trended Democratic, red regions trended Republican (larger image); (b) House trend map for the 2010 election cycle (larger image)

Given data between two election cycles, we can build "trend maps" that show which direction a congressional district or state trended. For example, Figure 4a shows a trend map between the 2008 and 2010 Presidental elections. If a district trended more Democtratic, it is colored blue, with saturation representing the strength of the trend (more saturated for stronger trends). If a district trended Republican, it is colored red. The aggregrate discs show the trend for the state as a whole, blue if the state trends Democratic, red if it trends Republican.

Note that the color of the district or state does not define the winning party. It only shows which direction the region moved during the 2010 election cycle. For example, a blue district could have been held by the Democrats in 2008, and re-held but with a stronger majority in 2010. Alternatively, a blue district could have been held by the Republicans in 2008, and re-held but with a weaker majority in 2010. That is, blue indicates either more Democratic or less Republic. Similarly, red indicates either more Republican or less Democratic.

The Presidental trend map is striking in the fact that most of the country is colored blue. Regions in the southern U.S., Arizona, Alaska, and a small number of additional areas trended Republican. Most other regions trended Democratic, including many states that are normally considered Republican strongholds (e.g. Idaho, Nebraska, Indiana, Virginia, North Carolina, and Florida).

An opposite trend occurred during the 2010 election cycle. Figure 4b shows the trend for U.S. House seats between the 2008 and 2010 elections. Here, the majority of the map is red, representing the strong swing towards Republican candidates during the 2010 election.

Data Collection

(a) (b)
Fig. 5. (a) South Carolina's seven congressional districts for the 2010–2020 Census period (larger image); (b) South Carolina's 46 counties (larger image)

An interesting aspect of the project was how to obtain voting information by congressional district. Since each congressional district represents one U.S. House seat, U.S. House results are always reported by district (e.g. on the NBC web site, or any other site reporting election totals).

Presidential, U.S. Senate, and state Governor results are normally not reported by congressional district. The most common format is either a single, state-wide result (e.g. as reported by NBC for the 2018 U.S. Senate races), or by individual state counties.

To date, we are unable to locate any existing breakdown of votes by congressional district. If each county fell entirely with a single congressional district (i.e. if congressional district boundaries always fell along county boundaries), the problem would be fairly simply. Unfortunately, many congressional district boundaries are now drawn to try to produce a specific breakdown of expected voters, so an individual county can overlap multiple congressional districts (e.g. as in Fig. 5 for South Carolina). In order to estimate the district results, we applied the following strategy:

  1. Collect vote tabulations by county from any of the available data sources.
  2. Determine which counties overlap each Congressional district, and the percentage of that overlap.
  3. Use the county-district percentage overlap to assign a corresponding percetange of each county's results to the appropriate Congressional district(s), then aggregate to produce estimates of President, U.S. Senate, and Governor vote totals by district.

Another complication is that certain New England states (specifically, Connecticut, Massachusetts, Maine, New Hampshire, and Rhode Island) report results by community rather than by county. This requires one additional step to determine which county each community belongs to. Numerous online sources are available to determine how communities map to counties. Community results can then be aggregated by county, and finally by district as we require.

Since U.S. Senate and Presidential elections occur together with the U.S. House elections (i.e. Presidential elections at four-year intervals, and U.S. Senate elections spread over six years in two-year intervals), voting data is readily available. Unfortunately, although some state Governor elections overlap with U.S. House elections, others do not (e.g. Gubernatorial elections in New Jersey and Virginia). "Off-year" state Governor results by county were collected from various state agencies.

Election Visualizations

Fig. 6. District and state-wide visualizations for all 50 United States (larger image or high resolution PDF)





























New Hampshire

New Jersey

New Mexico

New York

North Carolina

North Dakota





Rhode Island

South Carolina

South Dakota







West Virginia



Fig. 7. District and state-wide visualiztions for each of the 50 United States (click on the state or its legend to see a larger image)

Last updated Sat, November 17, 2022, mail questions or comments to healey@ncsu.edu