This tutorial covers several topics about map aesthetics, in particular for choropleth maps, as well as working joining different spatial data sources together. Make sure before you start to have the spatial data we will be using for this tutorial downloaded and unzipped on your flashdrive. The data can either be downloaded via blackboard, or can be obtained at https://www.dropbox.com/s/re57s0iko1ncjcm/3_Choropleth.zip?dl=0.

1 - Working with Tables

Before we make a choropleth map we need to prep the associated data. This part of the tutorial shows how to merge a spatial dataset with a separate table that contains the information we need to display on the map.

First open ArcMap, click the Add Data button (circled in red below), navigate to where you have saved the data for this week, and then add in the “Albany_CenBlockGroups_2010” polygon shapefile.

This file contains the 2010 census block groups for Albany New York. Now we are going to look at the data associated with each of those block group areas. In the table of contents, right click on the layer name, and then select Open Attribute Table.

You will then see a table like below. The information in the table happens to be the unique identifiers associated with the census files. We will use these identifiers to merge in Census data to this same table.

Go ahead and close the table by clicking the X in the top right corner. Now click the Add Data button, and then Double Click on the ACS_2012_PovHouse.xlsx file. Excel files can contain multiple sheets, so ArcMap wants you to select the specific sheet. Here click the ACS_2012_PovHouse$ sheet, and then click Add.

In the table of contents you will now see that table. Right click on the layer and select Open. This will bring up the table that was contained in the excel spreadsheet. You can see it has in the GEOID column the information we will use to link to the polygon map data. It also includes the total number of households per block group, as well as the total number of households living below poverty.

Go ahead and close out that table. When you imported the Excel table, the table of contents changed slightly. The format it was showing data was where the data is sourced from. In the table of contents now click the icon that looks like a hierarchical diagram (circled in red below). You will now see that the table disappears from the view.

This view, List by Drawing Order, is how you determine which layers are on top of one another. Because the excel table is not drawn in the map it does show up in this view. The prior view, List by Source, is to manage the different data sources referenced in the map.

Now we are going to join the excel table to our map data. Right click on the Albany_CenBlockGroups_2010 layer, and then navigate to Joins and Relates, and then select Join…

Here we are going to Join attributes from a table (the first selection dropdown option - highlighted in the screenshot below). The variable selection portions in the later sections allow you to select different fields and the table to match the data from. Here we choose GEOID_N from the map data source, and match that to the GEOID variable in the excel data source. (The reason there are two variables in the map data that appear to be the same, GEOID_N and GEOID10, is that one is coded as a number and the other is coded as a string, when matching you need them to be of the same type, so we use GEOID_N because the variable in our excel table is in a numeric format.)

Once your options mimic that in the screenshot below, hit ok.

Now open up the attribute table for Albany_CenBlockGroups_2010 again. You should see that you have TotalHouseholds and HouseBelowPov fields now merged in the attribute table

Pro-tip: Sometimes fields being string in one table vs. numeric in another table will cause problems in trying to merge the files. One quick way to change the field type in ArcGIS is to create a new field of the specific type you want, and then in the field calculator just set it as equal. ArcGIS will do the conversion for you in many cases.

As the last step before making our choropleth map, we are going to make a rate variable - the percentage of households below poverty in a block group. Select the page like icon in the top left corner of the attribute table, and then select Add Field.

Name the field “Pov_Prop” (intended to stand for Poverty Proportion), and then for the field type select Double. Double refers to double precision floating point value - a number field that can contain many decimal places.

Once the options match the screenshot above, click ok, and then you will see the new field in the attribute table and it will be initialized to have all zeroes. Select the column by left clicking on the field name, and then right click on the field header. Then in that dialog select the Field Calculator.

This brings up a calculator like dialog where we can divided the total households below poverty by the total number of households to make a proportion variable. If you double click on a variable in the Fields box it will populate the calculator below. First click the HouseBelowPov field, then type a forward slash, and then click the TotalHouseholds fields. The field calculator then should look like below.

Now click OK, and ArcMap will take only a second to calculate the field. You will then be left with a field showing the proportion of households below poverty, which we will map in the next section.

2 - Making a Choropleth Map

In this section we will be actually making a choropleth map and go through the process of choosing the bins and choosing the colors for the map.

If you haven’t done so, close the attribute table. Now right click on the census block group layer in the table of contents and select Properties…

In this dialog then select the Symbology tab. This is where we tell ArcMap how to color the layer.

Now in the left hand side, select the Quantities option, and then select the Graduated Colors option. In the right hand side, for the Value in the Fields box select the proportion variable we previously made. (The name is cut off in my screen shot.) Your layer properties dialog should look like below then.

Now we are going to change the classification scheme to 4 classes, and then click the Classify button.

By default, ArcMap chooses Jenk’s Natural Breaks method to choose the bins. Here we are going to select quantiles, which with 4 classes breaks the data into quartiles. We can see from the histogram in the lower portion of the dialog that the distribution is fairly uniform, but has some slight bunching at the lower values.

Now click ok, and you will be back at the layer properties dialog. The last thing we are going to do is make the labels alittle nicer, by not having so many decimal points. Left click on the Label heading in the table, and select Format labels.

Now in the Numeric options reduce the number of decimal places from 6 to 2, then click ok.

Our proportion labels now are a bit easier to grasp. Now in the Layer Properties dialog hit Apply and you can see how the map looks in the background.

This default palette is nice, but for the next part, we are going to choose a color scheme based on one of the ColorBrewer palettes. Open up the ColorBrewer website. In the top portion change the number of data classes to 4, and then change color format to show RGB values. Each change is circled in the screenshot below.

This gives us four color values going from light blue to darker green:

237,248,251 - lightest
35,139,69   - darkest

RGB stands for Red, Green, Blue color space, and the number for each color channel goes from 0 to 255. 255 for each color equals white, and 0 for each color equals black. (Unlike paints, colors on the computer screen are in additive color space. Remember white reflects the entire color scheme, whereas black absorbs all colors. So reflecting more color means closer to white.)

Navigating back to our ArcMap document, now we can change the color scheme to match this ColorBrewer recommendation. In the table of contents double click on the yellow color swatch. This then brings up the Symbol selector dialog.

Now select the Fill Color option, and then select More Colors option.

This will bring up a dialog in which you can type in the color properties directly. In the top left change the input type to RGB, and then fill in 237 for R, 248 for G, and 251 for B. You screen should look like below.

Now click ok, and then click OK again in the Symbol Selector. You now have the first anchor value for the ColorBrewer palette. Repeat the same steps, filling in the RGB values for the next 3 swatches. In the end your map should look like below:

The final aspect we are going to change before we make a nice map to export is to change the projection of the map. The census data is not projected, so appears stretched out. In the table of contents, right click on the Layers icon (the sheets of yellow papers stacked) and then select the Properties option.

Now select the Coordinate System tab, and the dialog should look like below.

When you make a blank ArcMap, it inherits the projection of the initial file you imported. If you noticed last week your map did not look quite the same as mine, it was probably because you imported the files in a different order, and so the map inherited the projection from the robbery point file, not the Albany outline shapefile.

Here the census data actually doesn’t have a projection (ditto for the robbery points last weekend), it is just defined by a particular coordinate system. (Coordinate systems are more like different ways to measure the shape of the earth and define reference points to longitude/latitude coordinates.) Subsequent files are projected on-the-fly to the projection the map is currently set to. We are now going to change the map to a local projection based on the New York State plane system.

Scroll up pane all the way to the top, and then collapse the Geographic Coordinate Systems menu, and then open the Projected Coordinate Systems.

Open the Projected Coordinate Systems folders by clicking the + button, and then click the + button for the State Plane system. The dialog should now look like below:

Open up the NAD 1983 meters folder, and then select the option for New York East FIPS 3101. Your dialog should look like the second image below. Then click ok.

Your map shape should now look like below.

3 - Making a legend and other map layout options

Now we are going to go to the layout section and make a nicer printed out map. Here we are going to insert a legend, north arrow, a scale bar, a title, and your name. After all those components are added into the map, I will show how to use guidelines to align all of these properties nicely in the map.

In the map click on the Layout view (the button in the lower left of the map view pane) to go to where to set up the map print options. In the file menu, now select Insert, and then select Legend.

This will bring up the Legend Wizard as shown below.

Hit next, and then in the legend title clear out the name Legend (as Jerry Ratcliffe mentions in his tips, the fact that it is a legend is obvious).

Then click next, and you will be given the option to give the border a frame. In the top drop down box choose the border frame that is 1.5 point.

In the next pane, you can change the absolute size of the color swatches and the shape of the swatch in the legend. Keep the default sizes, but select the area icon and change it to the Urbanized areas option.

Then click next, and in the last wizard pane keep all the defaults and hit finish. Your layout view will then look like below.

Make sure the black arrow icon is selected in the map (circled below), select the box that outlines the legend, and then drag it off the print page. This will make it easier to see both this part and the map.

Now in the table of contents, we can rename the text portion of the layer, and the changes will propagate to our legend. Right click on the text part of the layer in the table of contents, then once it is selected, left click on the text again (this is the same as renaming a file in the windows explorer). You will now be able to edit the layer name and change the text. Change the top layer name to Block Groups, and change the bottom layer name to “Prop. Families in Poverty”. The legend contents will subsequently change as well - and the map should look like below.

Now we are going to add in a north arrow and a scale bar. Go to the file menu, click Insert, and then click North Arrow…

Select the second plain black North arrow and hit OK. That north arrow image will now be imported into the map. Next select one of the corners for the arrow and increase its size in the map. Then drag it outside the print page so it is out of the way (same as you did for the legend).

Now we are going to insert a scale bar. Navigate again to Insert, and then select Scale Bar…

Select the single bar with an outline and then hit OK.

Select the icon and then make the scale bar narrower to be 2 miles, then drag it off the side of the map.

Next go to Insert and select title. Title the map “Households Below Poverty, Albany (2012)”.

Next we are going to insert arbitrary text. Go to Insert and select Text. This imports a text box (annoyingly) right in the middle of the map layout. It is hard to see so it is circled below.

Drag it off to the side and then double click the text box. This will open up a dialog where you can input text and change the texts size and font. In the text box type “5 Year American Community Survey Estimates” on the first line, hit enter, and then type 2010 Census Block Groups in the second line (you need to manually enter in line breaks in text boxes).

Now hit the Change Symbol button, and then change the text size to 16 point font. Then hit ok.

Back in the properties for the text dialog, then select the left align button (circled below), and then hit ok.

Now we are going to set up the map so all of the items, legend, scale bar, title, north arrow, and text location are all aligned nicely on the map. First right click on the page area and select Page and Print setup. Change the map to landscape orientation and then zoom out of the map slightly so we can see all of our elements. (See the prior tutorial if you do not remember how to do this.)

Now in the outside rulers, for the ruler that runs left to right, select the 1 inch hash (circled below). This places a teal guide line in the map.

If you drag items nearby this guideline the boxes will snap to the guide. This helps align all of the different items nicely in the map. Create another guideline in the ruler that runs up and down at the 7.5 inch hash mark, then drag the upper right corner of the map to the corner formed by the two intersecting guide lines. The map should then look like below.

Make a set of guidelines for the other sides of the print page so you create a box. Then drag the map frame so it fills up the box.

Now zoom in on the map of Albany so it fills out the page more. Then drag all of the items into the page layout. Choose locations for the items so the do not overlap with the map of Albany. Here is what my final map looks like.

Make sure to save your map, and export the map to a PDF file so you have a copy of your work.


For your homework, there is a csv file of burglaries per census block group in Albany in 2010. Add this table into ArcMap, and merge the burglary count to the census block groups. Calculate a field that is the burglary rate per 1,000 households. (Hint, it will look something like ([Burglaries]/[Total Households])*1000 in the field calculator.) Then create a choropleth map of the burglary rates. Use any sequential color scheme you want. Make a legend with 6 breaks, and format the labels so they have no decimal points. Retitle the map appropriately, and insert your name and the date somewhere on the map. Export the map to a PDF file and turn that in to blackboard.