Join 3,363 readers in helping fund MetaFilter (Hide)

U.S. State data maps.
August 9, 2010 1:57 PM   Subscribe

How do I easily make a map like this, from data like this?

I recently saw a link correlating State debt to the results of the 2008 Presidential elections. I have a few suspicions about many of the arguments made on that page. Even the site owner claims in the comments, "There is a legitimate role for state debt in the issuing of bonds to build capital projects such as university campuses, roads, and dams."

I don't think debt numbers alone say much without mentioning other stats. I would like to create State GDP and/or per capita income or Debt/Income ratio maps to get a better picture on the economic situation of a state and their voting behavior.
posted by Stu-Pendous to Law & Government (13 answers total) 13 users marked this as a favorite
Google Charts can do US state cartograms.
posted by genghis at 2:01 PM on August 9, 2010 [2 favorites]

Most maps these days are made with a GIS program -- specialty software for map-making and spacial analysis in which areas on a map can be linked to data.

But anyone can make any map with a draw program or paper and coloured pencils. I've done this for population density: I used MS Paint to colour a b&w map (with varying colours for varying density). It takes a lot longer and you can't easily change the way the data is displayed the way you can if you linked your data table into a raster or GIS shapefiles. But it still works for a one-off map.

As for your initial skepticism: you should be skeptical. All of those states with low debt? They also have extremely high levels of federal spending per person. There is a reason that they have low levels of state debt; the other states are subsidizing them.
posted by jb at 2:07 PM on August 9, 2010 [1 favorite]

I would download and install QGIS. Then, the data that you link to needs to be stored in some type of text format (csv for example). Then add a shapefile (a vector map of the US) (US States) and link the state outlines to the table of data you provided.

To make the map, when you link the data (or 'join', similar to a database) you can then color it based on the value that it has. For the join to occur the names need to be exactly the same, or you can use the ID code of each state (a two digit code).
posted by a womble is an active kind of sloth at 2:08 PM on August 9, 2010

You'll probably want to look into the GeoCommons "stack" for this - you'll be able to import the XLS provided and geocode it, and then do the shadey-shade.

But, to not answer your question: this is the wrong way to go about what you want to do. If you want to determine whether there's a strong statistical relationship between any of these variables, you should be using statistics, not maps. Eyes are worse at patterns than maps, and maps will only worsen the fact that population in the US is not well-related to land area, and that per-capita income is a wildly different statistic than GDP.

GDP is a total figure - so you could theorize that a huge state should have a huge GDP, right? But per-capita income is per-capita. No likely relationship to state size. So, one would be visualized with shading, the other with sized dots [exercise for the reader].

Anyway, yeah, statistics > shadey-shade in this case. If you think that DeVore's lying, wait until you see what your eyes will do.
posted by tmcw at 2:15 PM on August 9, 2010

I looked into this recently for work. There are various free; paid and freemium software packages you can use for this. You'll track a few through this search. Can't make any personal recommendations though I'm afraid.
posted by bifter at 2:41 PM on August 9, 2010

This kind of map is called a choropleth.
posted by matthewr at 2:57 PM on August 9, 2010 [3 favorites]

Phew, cheers matthewr - it's 22:57, and I didn't think I was going to learn anything new today at all. :)
posted by bifter at 2:59 PM on August 9, 2010

Haha! Funny I should drop by -- right now I'm killing time whilst generating a bunch of batches of that very map. We use this map + perl + this program's command-line mode to fill in the polygons and create our static images. Slow enough that I'm glad its static but otherwise pretty quick. HTML imagemaps were created using GIMP's rather flaky imagemap generator (pro-tip: cut and paste, 'cause "save" can crash the app).

We've shopped for plug-and-play flash dropins. We liked this one as a commercial product. Runs as a Windows Desktop app and deals with all the stupidity. Fairly inexpensive.

There's also this thing for free. I'd written it off as its default maps were fugly, but I'd missed the classic "Albers Projection", which means that maybe I'm going to be writing a purchase proposal later today...
posted by Ogre Lawless at 3:09 PM on August 9, 2010 [1 favorite]

Relevant to my thesis. Thanks for posting the question, and great responses from everybody. Id did this (badly) using GIMP and the exact same outline map that the Wikipedia link used. :) I certainly would rather have a more reliable way of doing this besides selecting the interior of a state and shading it some random color.

(Luckily I was just doing binary presence/absence - not trying to do different shades to indicate "degrees" of anything.)
posted by Made of Star Stuff at 3:28 PM on August 9, 2010

If you have access to Stata, here are directions for making really nice maps. I did this for my dissertation and was surprised how easy it was and how nice they turned out--especially compared to the fugliness of maps made in Microsoft MapPoint and the learning curve of ArcGIS.
posted by jtfowl0 at 7:49 PM on August 9, 2010

Ogre Lawless: How are you doing it that it takes so long? My first thought was find a SVG map, and change the fill color. That map even has the 'id' elements set for the state abbreviation. Should just take a few seconds to load the SVG XML file, change the fill on the paths based on some data, save it and generate an image. A quick google search shows some promising SVG->imagemap scripts.
posted by zengargoyle at 9:14 PM on August 9, 2010

You can do it in R.
posted by PueExMachina at 5:50 AM on August 10, 2010

Thanks for all the responses ... Everyone contributed something that helped. Although I'll mess around with QGIS in my spare time, for my purposes now, I think I'll keep it simple and go with the Google Chart tools. Unfortunately, like tmcw said, this isn't the best way to visualize this kind of info, I'll probably come up with something other than a map.
posted by Stu-Pendous at 5:53 AM on August 10, 2010

« Older Co-worker claims no style of p...   |  What information should be inc... Newer »
This thread is closed to new comments.