Chart Map About

Deaths per
Total per million inhabitants
New per million inhabitants per day, averaged
Growth day over day, averaged
Data source area

To see more information about a region, click on it. Double-click on the region to bring up the corresponding graph.

About the charts

Think of these charts as being like a car's dashboard, but for the coronavirus. They let you see (with some time delay) how quickly the virus is spreading or declining. Like the instruments on your dashboard, they don't predict the future; they only reflect current conditions.

Odometer: The solid lines in the first chart are like an odometer. Just as an odometer shows how many miles you have traveled, the solid lines in this chart show how many total cases, and how many total deaths, there have been in a particular region. This information is a good start, but you probably also want to know how fast you are going and whether you are speeding up or slowing down.

Speedometer: The dots in the first chart are like a speedometer; they show how many cases and deaths there have been per day.

Accelerometer: Most cars don't come equipped with an accelerometer, which tells you whether you are speeding up or slowing down. But you can usually determine your acceleration or deceleration by how your body feels: pressed back in the seat if accelerating, and thrown forward into your seatbelt if decelerating.

The coronavirus equivalent of an accelerometer is something that shows you whether every day there are more cases and deaths than the day before, or fewer.

One way of detemining the "acceleration" is simply to look at the dots in the first chart, and see if they are heading upwards, or downwards. Because of the way the chart is drawn (with a logarathmic scale on the vertical axis), a straight line passing through the dots represents a constantly increasing (or decreasing) rate of cases and deaths.

Put your cursor (or finger, if you have a touch screen) on the first chart, and you will see a "best-fitting" line passing through nearby points. Keep in mind that this line was calculated using a very unsophisticated formula, so your eyeball may actually do a better job of estimating the slope than the computer. For instance, you might notice that the line is fitting what are obviously, to you, anomalous data points. In general, trust your judgement over the computer's.

Anyway, the second chart plots these calculated slopes, for all days where there is enough data. Points above the green "zero" line represent days where the number of new cases and deaths are increasing, and points below the green line represent good days: days where the number of cases or deaths are decreasing.

How fast? So, the second chart shows whether cases and deaths on a given day are increasing or decreasing. The numbers on the vertical axis indicate how quickly this is happening. "0" means no change; every day there are, on average, the same number of cases or deaths as the day before. A positive number means a daily increase: "+20%" means that there are 20 percent more cases or deaths than the day before.

A daily increase of 20% is not good news at all; it means that the number of new cases or deaths will double in about four days, if the trend continues.

Similarly, a negative number represents a decrease. So "-20%" means 20 percent fewer new cases or deaths than the day before. This is very good news!

Limitations: These charts are not always easy to interpret, because the data going into them have a number of flaws. For instance, if tests are hard to obtain, then the number of cases will be understated. Likewise, it is not always known whether a particular death was due to (or connected with) coronavirus. And there is a delay (about a week) from when a person is infected until when they have symptoms, and an even longer delay (a few weeks) between infection and death.

So the data presented here give only a snapshot (somewhat fuzzy) of the past, not of the current situation.

There are other sources of data that could provide more information: for instance, hospitalization rates, the ratio of positive tests to total tests, and antibody test. However, this site is focused on visualizing the most easily available data: confirmed cases, and deaths.

About the map

The charts allow you to see how cases have changed in a given region over time; the map allows you to see how cases (and deaths) are distributed over the continental US, at a single instant in time. You can select the date, which information to view (cases or deaths), and either totals, new cases/deaths, or change in new cases/deaths. These have the same meaning as on the charts.

In order to facilitate comparison between regions, the total cases/deaths and the new cases/deaths are normalized by population, to give cases/deaths per million inhabitants. Areas with more people (greater population density) are drawn in brighter colors, to help them stand out.

To see more information about a given region, simply click on it. If you double-click on the region, you will be taken to the page with the corresponding chart.

If you see an anomalous region on the map (one with a rapid increase or decline in cases, for instance), it is worth double-clicking and going to the chart, to see if the reason for the anomaly is noisy data rather than a significant trend.


Length of the slope line: If you look at the top chart, especially in geographic regions with fewer cases, you'll see that the number of new cases and new deaths bounces around a lot. This bounciness makes it harder to fit a straight line to the points. The only way to improve accuracy is to use more points, in order to average out the errors.

As you run your pointer over the top chart, you may notice that the "best-fitting" line varies in length. The length of the line shows how many points are used to calculate the slope: if a data point is vertically above or below the line, then it was used in the calculation. If it is outside the limits of the line, it was not used. When available, two full weeks of data are used to compute the line.

Note that the most recent (rightmost) point is never used in calculating the slope, as it may be based on incomplete data.

Smoothing: The slope is not calculated directly from the new-deaths and new-cases values; these values are smoothed first. The smoothing is a simple 3-point boxcar smoother: the data for a given day is averaged with the data from the previous day and the data from the following day. This corresponds to the idea that a case or death that was reported on a given day might just as easily been reported on the previous day or the following day. The smoothed data points are not shown on the chart; only the original points are shown.

Error bars (not): As you move your pointer to the rightmost points (the most recent), the best-fitting line shortens, as mentioned above, to reflect the fact that fewer points are used in the calculation. In order to signal to the user that fewer input points were used, the corresponding points on the second chart are drawn more faintly, and stretched vertically. This vertical stretching makes the point look like an error bar. Keep in mind, however, that error ranges are not calculated; the vertical stretching is impressionistic, and not a true reflection of possible errors.

R0: The value R0 and its friends (Rt, Re, etc.) represent how many susceptible people are expected to be infected by a single infectious individual. In theory, R0 can be calculated from the increase/decrease rates shown in the second chart. However, this calculation requires, as an input, an estimate of how many days, on average, an infected individual remains infectious. But that number is not very precisely known, so R0 is not calculated here.

Doubling/halving rates: Instead of the increase/decrease rates shown in the second chart, you might prefer to know how many days, at the current rate, it will take the number of new cases or new deaths to double (or to halve, if the numbers are decreasing). There is a table below with some sample values, but here, for the mathematically minded, is the formula used to make the table: Let p be the percentage on the vertical axis, expressed as a decimal (so if the label on the axis is "+20%", p = 0.20). Then if p is greater than 0, the doubling time in days, td, is td = 1./log2(1.0 + p). Likewise, if p is less than zero, then the halving time in days, th is: th = -1./log2(1.0 + p).

But if you don't feel like using a calculator, here are some pre-computed values.

Doubling / Halving times
RateDays     RateDays
5%14.2 -5%13.5
10%7.3 -10%6.6
15%5.0 -15%4.3
20%3.8 -20%3.1

This table shows, for example, that a rate of increase of 10%, as shown on the second chart, corresponds to a doubling time of 7.3 days.

Data sources: You have a choice between using data either from the New York Times or from the Johns Hopkins University Center for Systems Science and Engineering (JHU CSSE). By default, the New York Times dataset is used. If you wish to switch, click on the link just underneath the second (lower) chart or beneath the selection buttons under the map. These data sources are updated roughly once a day. You don't have to keep refreshing your browser to check for an update; the data-source area of the page will let you know when a new update is available.

Metro areas: Besides charts for each US county and state, you can view charts for certain metropolitan areas. These metro areas are defined by the US Census Bureau and are formally known as Combined Statistical Areas (CSAs) and Metropolitan Statistical Areas. (MSAs).

A single CSA or MSA may be made up of multiple counties, and can cover multiple states. For instance, the New York - Newark CSA covers parts of New York state, New Jersey, Connecticut, and Pennsylvania.

In general, MSAs are smaller than CSAs. If a given county belongs to both an MSA and a CSA, the county is assigned to the CSA. The reason is that combined data from many counties (CSAs) is statistically more reliable than data from fewer counties (MSAs).

Copyright: Copyright (c) 2020, by the registrant of the domain. The javascript source code for this web page is released under the 3-clause BSD license (view the source code in chart.[version].js for details), but the human-readable text on this page is not covered by that license.

Contact: For more information, send email to info at