How to create a symbol map

Symbol maps are maps on which data about specific locations (e.g. cities) is represented with geometric shapes (e.g. circles).

These kinds of maps shouldn't be used if you want to show data about areas, like the population of all countries or the criminality rate in all Chicago neighborhoods. Choropleth maps are the better choice for that, and we show you how to build them here. But symbol maps are great if you want to show the data for specific geometric locations, e.g. to show all McDonald's restaurants in the US, all UFO sightings worldwide, or the location of National Parks. 

We'll show you how to build a symbol map based on population data for the biggest US cities:


Choosing a map

The first question that Datawrapper will ask you after you've decided to use a symbol map is: "What type of map do you want to create?" Even if you know that you want a US map, you can still decide between different levels, e.g. states, counties, district courts, or congressional districts. We want a US state map as a background for our population circles to give the reader some orientation. So we'll search for "USA", click on "USA » States" and then click "Next" (You can also upload your own map, with instructions on how to do so in the article How to upload your own map).


Preparing the data

Before we can visualize the unemployment rates, we need to bring it in the right format. Datawrapper will need addresses or latitudes/longitudes to know where you want your points to be. For our map of US cities, the city names will serve as addresses. Datawrapper will map them automatically (that's called "geocoding"). For more information on geocoding using place names, see this article.

If you want to represent data with the size or color of circles (or other geometric shapes), you also need to prepare a column with data values. On our map, the size of the circles is determined by population numbers, and the color of the circles represents the change since 2010. So we need at least two more columns for population and change. Our table looks like this now: 

city population 2016 change to 2010
New York 8537673 4.43
Detroit 672795 -5.74
Chicago 2704958
etc. etc.  etc.

You can also import latitudes and longitudes. Datawrapper accepts decimal coordinates (e.g. 40.6635, -73.9387 instead of 40° 39′ 48.6″ N, 73° 56′ 19.32″ W for New York City). You will need one column for latitudes and one column for longitudes. That's how our data looks like when we add the two columns:

lat long city population 2016 change to 2010  
40.6635 -73.9387 New York 8537673 4.43  
42.383 -83.1022 Detroit 672795 -5.74  
41.8376 -87.6818 Chicago 2704958 0.35  
etc. etc. etc. etc.  etc.

Why should you upload latitudes and longitudes when Datawrapper can just transform our city names into points on the map? Because the names of cities (or any other places) might exist more than once or might be written differently in different languages. 

For example, there are multiple Vancouver's around the globe. If you give a geocoder (like Google Maps or Datawrapper) "Vancouver" as an address, it will assume that you mean the biggest Vancouver, which happens to be in Canada. But the "Vancouver" in our table actually refers to the Vancouver in Washington state. When using city names as addresses, Datawrapper will map Vancouver in Canada. When using latitudes and longitudes, our Vancouver appears (correctly) in Washington. With latitudes and longitudes, you can be sure that Datawrapper maps the exact points you want to appear on your map. To learn more about this topic, visit our Academy article "Symbol location accuracy using addresses/place names"


Importing the data

You've prepared your data? Great! Now there are three ways to import your table with names/ID and values: 

  1. Write your values directly into the "Add a new point" field. This takes a long time, so we don't recommend it for maps with lots of points (like our US cities map):
  2. Click on "Import Data", then choose if you want to import addresses or latitudes/longitudes, then copy & paste your data into the table that appears. 
  3. Click on "Import Data", then "Click here to upload a CSV file" and upload a CSV. If you're a fan of CSVs (e.g. because you export them out of R or Python), this will be your preferred option.

If something's wrong with your data, our map feature will tell you immediately and lets you correct it on the spot. If you want to delete or edit a point on the map, you can do so directly in the table with a click on the pen or the trash symbol. If your table has many columns, you might need to scroll a bit to the right to see these symbols:



If you've successfully imported the data, you will see the following dialogue box: 

Click "GO!", check the data in the table again, and then click "Proceed" to get to the next screen, where you can customize your map. We will cover this part in the next tutorial: Customizing your symbol map.