Examining the COVID-19 Data

Data visualizations can help us better track and understand the spread of COVID-19.

These visualizations are updated weekly. See Update Log
Last updated: August 3, 2020
Read these blog posts to learn more about data visualizations from Dr. James Caton: "Basic Principles for Interpreting Time Series Data," "Using Python to Visualize COVID-19 Data at the State and County Level Part I and Part II" and "Using Python to Visualize COVID-19 Data at the State and County Level Part III"
Data source (Johns Hopkins data from Associated Press) available here




COVID-19 in U.S. States



North Dakota






South Dakota












Comparing U.S. States



U.S. States with Growing Cases



Update Log

Update: 7/13/2020

In addition to the visualizations that highlight states in the Upper Midwest, a figure has been added highlighting states that have a significant increase in the spread of COVID-19 (U.S. States with Growing Cases).

Update: 6/29/2020

For map animations, any value less than 1 case per million or 1 death per million is now represented as the lightest color (beige) instead of white.

Update: 6/22/2020

The legend for the Cases per Million Map from the previous release was labeled "Cases per Million per Million". This now reads "Cases per Million".

Update: 6/8/2020

Data source: Johns Hopkins data from Associated Press

A new figure (Comparing U.S. States) compares levels of "Cases per Million" and "Deaths per Million" between states.

All visualizations use common starting criteria for cases per million and deaths per million.

The horizontal axis for the graph representing cases per million indicates days since cases per million surpassed 10. The horizontal axis for the graph representing deaths per million indicates days since deaths per million surpassed 2. This was previously 1. 

Bold lines (top 10 most populous counties or states in the Upper Midwest) are now darker. Non-bold lines are now wider and lighter.

Other features described in a GitHub blog post.

Update: 6/1/2020

County level visualizations released during the last week indicated total cases and deaths per million, when the values actually represented cases per 100,000. This does not apply to the interstate comparison whose values are correctly presented as the seven-day moving average of cases and deaths per millions per day. The county level visualizations have been updated to reflect total cases and deaths per million.

Although absolute magnitudes should be correctly stated, our intention in posting data is to provide a means of comparing different regions. For this reason, the shape and positions of the data relative to the axes remain the same.

The interstate comparison now uses the first day that deaths per million exceeded 1. Before, the anchor had been the first day that daily deaths per million exceeded 0.1. This created potential for missing values, thereby breaking the continuity of the data.

Update: 5/31/2020

Plots of deaths per million and cases per million at the county level within a given state are now stacked in a single figure.

Words are now stacked for all counties whose names that contain multiple words, each separated by a space.

Y-axis now adjusts to make space ensure that all text stays within the bounds of the plot.

Top of page