If you've been following the presidential primary process here in the US, you've probably seen many maps of the results of the Iowa caucuses by now (such as this infamous one from Fox News). But you might be interested to learn how such maps can be made using the R language.
The Offensive Politics blog explains the process in detail, from accessing the data (helpfully provided as a Google Fusion table), to using R packages (including maptools, ggplot2, RColorBrewer, and gpclib) to transform and chart the table, and creating heat maps like this one, showing the percentage point advantage Romney had over Santorum in each Iowa county:
You can find more such charts, along with the detailed instructions and R code, at the link below.
Offensive Politics: Mapping the Iowa GOP 2012 Caucus Results
This map has a major problem with the color palette--it is difficult to pick a county on the map and then look up the value in the scale. This is due the HCL color scale.
The reason HCL colorspaces are perceptually uniform is because they are perceptually indistinct. Seems like a no-brainer that if you can't tell the difference between colors then you can't read values off a map.
Perceptually uniform HCL colorspaces have some theoretical justification and have gained popularity, but their application in real graphics demonstrates significant problems.
Posted by: Kevin Wright | January 06, 2012 at 09:53
@Kevin:
While this particular set of data demonstrates a problem, I don't know that HCL is the issue. The issue here is that the data are/is congested to the middle of the scale, so we get mostly one step color boundaries at the middle of the scale. I don't know: is that particular to HCL? I suspect the same would happen with any scale.
The resulting response in the eye/brain is appropriate: WTF happened, there's no difference!!! To that extent (which is what matters), the graphic is successful.
Posted by: Robert Young | January 06, 2012 at 11:17