Aug. 07, 2014

Create a Disease Map

by Ariel Zych

Click to enlarge images
Target Grades: 7-12
Time Required: 30-60 minutes
Subject Areas: Mathematics, Engineering and Technology
Activity Type: Data Analysis and Visualization
Standards: NGSS HS-LS2-2, CCSS.ELA-Literacy.RST.9-10.7CCSS.ELA-Literacy.9-10.3
Mapping is a powerful tool for understanding the spread of diseases that are transmitted by invertebrates such as mosquitoes and ticks, called vectorsEpidemiologists, the scientists who study disease transmission and distribution, will often use colors or shapes to represent the number of disease cases on maps. By using maps to visualize how the number and distribution of infections change over time, epidemiologists can look for patterns in new infections that might provide clues about the role of vectors, weather, or human behavior in the spread of disease. For an example, take a look at the following heat map of Lyme disease from 2003 to 2011, and then click the "play" button:

As you look at this map you might notice that, from 2003-2011, most cases of Lyme disease in the U.S. occurred in the Northeast and upper-Midwest. Largely through studying maps like this, researchers were able to identify the common deer tick, Ixodes scapularis, as a possible vector in Lyme disease transmission.
If you’re interested in making your own epidemiological map, there is plenty of data to work with. When physicians identify human cases of vectored disease, they report them to the Centers for Disease Control (CDC). The CDC organizes that data by location and date and makes the information publically available.
For this activity, we’ve given you some tools to create your own map of a vectored disease:
-       Ready-to-map CDC data and information on vectored diseases 
-       Links to two free online mapping tools with instructions
-       A DIY map for mapping data by hand, plus instructions
-       Some analysis questions to guide your observations
-       SciFri interviews with experts on epidemiology and vectored disease

Lyme Disease

CDC Lyme disease information
Vector: ticks in the genus Ixodes
West Nile Virus (WNV)
Vector: mosquitoes (see the full list of U.S. WNV mosquito vectors here)
Eastern Equine Encephalitis Virus (EEEV)

CDC EEEV information
Vector: mosquitoes in the genera Aedes, Coquillettidia, and Culex
La Crosse Encephalitis Virus (LACV)

CDC LACV information
Vector: the Ochlerotatus triseriatus mosquito

Pick another disease of interest

  • Find data: Search the CDC site for a disease you’ve heard of, then look for a link to “statistics” for data about that disease.
  • Download or copy those data into an Excel file, making sure that the top row contains only dates, and the left column includes either U.S. states or U.S. counties.  So long as your data resemble the snapshot below, you can save your Excel file and start mapping.  

  • If you need to convert the file into a .csv file, start by removing all of the spaces from your state and county names. Next click “Save As,” and choose “Comma-Separated values (.csv)” from the drop-down menu; then click “ok.”  

Open Heat Map
  1. Go to and click “Create your map.”
  2. Select “Excel or CSV file,” then click “upload.”
  3. Select the dataset you chose, and click upload.*
    *Note: You can use this with any data that are organized by state or county information in the left hand column.
  4. Click “View your map.”
  5. Use the play button to visualize your data. You can also adjust the color settings, title, author, dates, and key to better represent your data. You will also probably have to adjust the data range to accurately reflect your data.
  6. Click “Save & view” in order to share or embed your map.
*eSpatial –
      *This map requires that you sign up for a free trial account.
  1. Upload the .csv file version of the data you would like to use, then click “complete.” You can ignore any error warnings—the data will still map correctly. Then click, "Return to Map."
  2. You can adjust the map to display different marker styles and colors based on your dataset by selecting “style & color” from the box in the upper left corner, and then choosing “style” and “color by value” from the box that pops up.
  3. You can choose which year’s data you would like to map by selecting the year from the drop-down menu in the “color by value” menu.
  1. Print out the U.S. Map and Key.
  2. Choose a single year (column) of data from one of the datasets above. This will be the data that you map.
  3. Choose the key whose highest value is closest to the highest value of any state or county in your data set. For example, if the highest number of cases of Lyme disease in any state for the year you are mapping is 300, choose the key whose range goes to 350, not the key that goes to 2000.
  4. Color each box in your key a different color. Label your key with the disease you are mapping and the year the data was collected.
  5. Using your key as a guide, color in each state based on the number of disease cases it had according to your data set. For example, if Texas had 25 cases of Lyme disease in 2003, color in Texas using the color from the key whose range includes that number. You can see an example of how to color in states in the image below:


    Based on data of confirmed La Crosse encephalitis cases from 2000:

    Minnesota 8   Colorado 1
    North Carolina 6   Connecticut 1
    Ohio 18   Georgia 2
    Tennessee 19   Illinois 3
    West Virginia 40   Indiana 2
    Wisconsin 6   Iowa 4
    all other states 0   Kentucky 2
  1. Based on your map, are there regions of the United States that are disease hotspots? Are there areas of the United States that seem to always have few or no cases each year?
  2. Compare the number of cases in states between years. Does the disease seem to be confined to certain parts of the U.S. even between years?
  3. How do the number of cases seem to be changing from year to year? Is there a pattern that suggests the disease is becoming more common, or that it is becoming less common over time?
  4. How might adding data from additional years change your conclusion from question 2 or 3 above?
  5. Are the regions with fewer cases similar in some way? Think about population size, altitude, proximity to the ocean, and latitude. How could these factors affect the spread of a disease transmitted by vectors such as mosquitoes or ticks?
  6. Compare your disease heat map to the map below of climate zones in the continental U.S. Are there any similarities? How could regional climate affect the distribution of a vectored disease? (Click on the map for an enlarged version.)
NGSS HS-LS2-2: Use mathematical representations to support and revise explanations based on evidence about factors affecting biodiversity and populations in ecosystems of different scales.
NGSS Science and Engineering Practices: Practice 4: Analyzing and interpreting data
CCSS.ELA-Literacy.RST.9-10.7: Translate quantitative or technical information expressed in words in a text into visual form (e.g., a table or chart) and translate information expressed visually or mathematically (e.g., in an equation) into words.
CCSS.ELA-Literacy.9-10.3: Follow precisely a complex multistep procedure when carrying out experiments, taking measurements, or performing technical tasks, attending to special cases or exceptions defined in the text.

About Ariel Zych

Ariel is Science Friday's education manager. She is a former teacher and scientist who spends her free time making food, watching arthropods, and being outside. You can follow her @arieloquent

The views expressed are those of the author and are not necessarily those of Science Friday.
EVAL ERROR: Entity: line 1: parser error : Space required after the Public Identifier

Entity: line 1: parser error : SystemLiteral " or ' expected

Entity: line 1: parser error : SYSTEM or PUBLIC, the URI is missing


line 1: package tmpevalpackage;
line 2: sub doEval { 
line 3: 	my($parent);
line 4: 	
line 5: 	if($LayoutManager::url_resolved_values{'SEGMENT.nickname'}) {
line 6: 		$parent = $LayoutManager::url_resolved_values{'SEGMENT.nickname'};
line 7: 	}
line 8: 	elsif($LayoutManager::url_resolved_values{'VIDEO.nickname'}) {
line 9: 		$parent = $LayoutManager::url_resolved_values{'VIDEO.nickname'};
line 10: 	}
line 11: 	elsif($LayoutManager::url_resolved_values{'DOCUMENT.nickname'}) {
line 12: 		$parent = $LayoutManager::url_resolved_values{'DOCUMENT.nickname'}
line 13: 	}
line 14: 	
line 15: 	if($parent) {
line 16: 		my(@books) = &Database::SelectClause('BOOK',"parent = $parent");
line 17: 		if(!@books) {
line 18: 			$parent = '';
line 19: 		}
line 20: 	}
line 21: 	
line 22: 	if(!$parent) {
line 23: 		my(@sel) = &Database::SelectClause('GLOBAL','record all ""');
line 24: 		if(@sel) {
line 25: 			$parent = 'GLOBAL.' . $sel[0];
line 26: 		}
line 27: 			$main::ENV{'reading_header'} = "FEATURED READING";
line 28: 	}
line 29: 	
line 30: 	 = '';
line 31: 	
line 32: 	if($parent) {
line 33: 		my(@books) = &Database::SelectClause('BOOK',"parent = $parent");
line 34: 		0 = 0;
line 35: 		my $dots;
line 36: 		foreach(@books) {
line 37: 			my(%data);
line 38: 			&Database::GetRow($_,'BOOK',\%data);
line 39: 			my($status,$title,$author,$url,$image,$width,$height) = &SciFri::Schema::getAmazonItem($data{'isbn'});
line 40: 			if($data{'title'}) {
line 41: 				$title = $data{'title'};
line 42: 			}
line 43: 			if($data{'author'}) {
line 44: 				$author = $data{'author'};
line 45: 			}
line 46: 			if($status eq 'ok') {
line 47: 				 .= "<div class=\"box-2x1-item box-slide\" data-href=\"$url\">";
line 48: 				 .= "	<div class=\"box-2x1-item-photo\">";
line 49: 				 .= "		<div class=\"image-wrapper\" data-jsclass=\"imageWrapper\" data-align=\"right\">";
line 50: 				 .= "			<img src=\"$image\" data-width=\"$width\" data-height=\"$height\">";
line 51: 				 .= "		</div>";
line 52: 				 .= "	</div>";
line 53: 				 .= "	<h4>$title</h4>";
line 54: 				if($author) {
line 55: 					 .= "	<p>by $author</p>";
line 56: 				}
line 57: 				 .= "	<div class=\"box-2x1-more-button\"><a href=\"$url\"><img src=\"/images/v1/icon_text_more_white.png\" width=47 height=15 border=0></a></div>";
line 58: 				 .= "</div>";
line 59: 				++0;
line 60: 			}
line 61: 		}
line 62: 	}
line 63: 	if($parent eq "GLOBAL.1") { $main::ENV{'reading_header'} = "FEATURED READING"; }
line 64: 	else { $main::ENV{'reading_header'} = "RELATED READING"; }
line 65:  };
line 66: &doEval();
line 67: 1;

Science Friday® is produced by the Science Friday Initiative, a 501(c)(3) nonprofit organization.

Science Friday® and SciFri® are registered service marks of Science Friday, Inc. Site design by Pentagram; engineering by Mediapolis.