We don’t know the actual number of COVID–19 cases, deaths & recoveries, just the reported ones. Please read the following visualizations with that in mind.
Covering the coronavirus is a challenge. We’d like to help. Here are more than 20 charts, maps and tables that show the latest coronavirus numbers. You can embed any of them on your own website. Since we know that lots of you use this blog post to actually inform yourselves, you can find visualizations on top. Scroll down to the bottom of this blog post for our thoughts on responsible data visualization in this crisis.
Here’s an index of the content of this article and of all available visualizations. Not all of them are embedded here: Some charts, maps & tables were interesting in March or April 2020, but are not anymore (the doubling time charts, for example). You can still find them on our individual chart pages and in the Datawrapper River; we link to both.
Some general information
- Latest changes to this article
- How you can use these visualizations in your own articles
- What we considered while creating these visualizations
- What you should consider when using these visualizations
- What data sources we used
Doubling time charts & tables
- Doubling rate of confirmed cases (the #FlattenTheCurve chart) line chart
- Doubling rate of confirmed deaths (the #FlattenTheCurve chart) line chart
- Does the doubling rate go up or down? How about the number of confirmed cases? table
- Doubling time in the last five days vs the five days before table
Overviews & comparisons of countries
- Current cases, recoveries and deaths worldwide, in relative terms table
- Comparison of cases this week vs last week table
- Comparison of cases this week vs last week as an overview table
- Current cases, recoveries and deaths worldwide table
- Current cases, recoveries and deaths in all countries table
- New cases, recoveries and deaths worldwide, yesterday table
- Current cases, recoveries and deaths in countries with more than 300 current cases stacked bars
- Growth rate of confirmed deaths in selected countries line chart
- Growth rate of confirmed cases in selected countries line chart
- Change in requests for car directions on Apple Maps. line chart
- Change in requests for public transport directions on Apple Maps. line chart
Detailed data for selected countries
- Confirmed cases & deaths, worldwide line chart
- New confirmed cases & deaths per day, worldwide column chart
- New confirmed cases & deaths per day, China column chart
- New confirmed cases & deaths per day, United States column chart
- New confirmed cases & deaths per day, Europe column chart
- New confirmed cases & deaths per day, UK column chart
- New confirmed cases & deaths per day, Italy column chart
- New confirmed cases & deaths per day, Germany column chart
- New confirmed cases & deaths per day, Spain column chart
- Confirmed cases & deaths, worldwide symbol map
- Confirmed cases in China symbol map
- Confirmed cases & deaths in the United States by state symbol map
- Confirmed cases & deaths in the United States by county, colored by population symbol map
- Confirmed cases & deaths in the United States by county symbol map
- Confirmed cases per capita in US states and counties over time line chart
- US counties by growth rate of confirmed cases table
- Confirmed cases in Europe symbol map
- Confirmed cases in Germany symbol map
- Confirmed cases in German “Landkreise”, colored by population symbol map
Latest changes to this article
In this GitHub README, you can find our latest changes to the charts, maps, and tables in this blog. (We don’t mention when we fix obvious bugs that appear because the data source changes e.g. how it formats data.)
How you can use these visualizations in your own articles
All these charts, maps, and tables were created with Datawrapper. It’s a simple, free tool used by small blogs and big organizations around the world like the New York Times, SPIEGEL and Süddeutsche. You can try it out here, without signing up.
We’d be happy if you’d use and adapt the charts, maps and tables we show here! To do so, hover over them, then click on the appearing “Edit this chart” in the top right corner. This will open a new tab with the editing process for this visualization. Again, without the need to sign up.
Here you can change many things to your liking. For example:
- change the wording or translate the title, descriptions, notes, and annotations in step 3: Visualize → Annotate; or translate the map tooltips.
- change the colors in step 3: Visualize → Refine to make them fit to the rest of your article/organization.
- choose the custom design theme of your organization in step 3: Visualize → Design, (Don’t have one yet? Learn more about it here.)
Once you’re happy with style and wording, go to step 4: Publish, hit “Publish” and embed the visualization in your article, download it as PNG or share it on social media.
Please note: The charts, maps and tables that state the Johns Hopkins University as their source (most of them, sadly) fall under its licensing. You can only use these visualizations for educational and academic research purposes, not for commercial purposes.
What we considered while creating these visualizations
As data visualization designers, we have a responsibility towards our audience – an audience that might not be aware that each data visualizations tells a story instead of simply “showing the facts”. Our responsibility is to show the data truthfully. The story we want to tell with our coronavirus visualizations is not about panic, but about calm caution and putting things in perspective. So we considered the following while creating these charts, maps, and tables:
- We show the current or confirmed cases in another color than red. The coronavirus is not a death sentence. Most infected people will survive. If you’re infected, you want to find yourself on a map as a blue (or orange, or beige, or purple…) dot, not as a “attention, danger, run!”-screaming red dot. Related, we show deaths in black, not red – it feels more respectful.
- We counter absolute numbers with relative ones. We still show the absolute number of cases (that’s what we’re all interested in), but we set them in relation, e.g. in the tables. To do so, we use phrases like “that’s 3 in 1 million people” or “one in 200.000 people”.
- We avoid showing cumulative cases. When we look at coronavirus dashboards like this one by the Johns Hopkins University, we often get confronted with the “total confirmed cases”. But many of the people who got infected with COIVD–19 already recovered, or are close to full recovery. Instead of cumulative cases, we almost always show the current cases – which is way smaller.
- We use symbol maps, not choropleth maps. The whole state I live in is filled with a dangerous-looking color just because 500 out of 20 million people are infected? That seems out of proportion. Instead of choropleth maps, we use symbol maps to show infected people. Symbol maps are not the best solution either (because symbols need to be (too) big to be useful, and when used for countries it looks like all infected people gathered in one location), but at least they don’t suggest that the entire country you live in is a death zone.
What you should consider when using these visualizations
The charts, maps, and tables we offer here don’t work on their own. They need to be put in context for your audience.
- Build stories, not dashboards. Your readers will have questions like “What do I need to do now?” and “Do I need to be afraid?”, and our visualizations can’t answer that. But you can, with words. Consider changing the wording of our chart titles to make them fit into your story nicely.
- Use visualizations sparsely. Don’t show all these visualizations we offer here. Many of them show the same information anyway, just slightly differently presented. So ask yourself: Which of the visualizations will be most insightful for your readers, in the context of your story? Only select these.
- Remind readers of the uncertainty of these numbers. We can only count the coronavirus cases we’re aware of. Evan Peck wrote a few great tweets about the uncertain situation we’re in:
The number of *actual* #COVID19 cases contains tremendous uncertainty (estimates in around Seattle alone are 10x larger than the positive tests), but we aren't visually representing ANY uncertainty because we know the number of *positive tests*.— Evan Peck (@EvanMPeck) March 5, 2020
- Be careful when showing maps together. If you show two maps below each other (e.g. the China map and the Germany map), you’ll confuse readers about the scope of the problem. The symbol size that communicates “20.000 cases” on the China map only communicates “2000 cases” on the Germany map. Also, lots of maps take a long time to load (as you can experience in this very post!).
Also, here’s a practical tip: To see the newest numbers in charts, maps, and tables you embed, readers will need to reload your website/article. Consider making that clear in the chart notes, at the end of the article or wherever it fits well.
What data sources we used
By now (end of March), there are many data sources available collecting information on both COVID–19 cases and deaths. Here are a few:
- for the US: The COVID Tracking Project, 1Point3Acres.
- worldwide: the European CDC (transformed to CSVs by Our World in Data), the WHO (although it has flaws), Johns Hopkins University (Dashboard / Github repo with time series.
The data source for all our charts but some of the ones about Germany is Johns Hopkins University. We access it through the Github repo and via this API by software developer Muhammad Mustadi, which gives us the same numbers as the dashboard, up-to-date.
To bring the data in the right format for our Datawrapper visualizations, we used R. You can find the (badly written) R script on Github. We update the charts, maps and tables every 20 minutes.
If you know of other data sources we should consider, please let me know at email@example.com.
As always, let us know if you have any questions, feedback or hints. If they’re any charts you’re missing, also let us know. We’re available at firstname.lastname@example.org. You can also write directly to me at email@example.com or find me on Twitter (@lisacrost).