Dimitri Liakhovitski
2012-Jan-13 16:52 UTC
[R] Coloring counties on a full US map based on a certain criterion
Dear Rers, is there a way to color counties on a full US map based on a criterion one establishes (i.e., all counties I assign the same number should be the same color)? I explored a bit and looks like the package "maps" might be of help. library(maps) One could get a map of the US: map('usa') One could get countries within a US state: map('county', 'iowa', fill = TRUE, col = palette()) Would it be possible to read in a file with counties and their assignments (some counties have a 1, some counties have a 2, etc.) and then have one map of the US with counties colored based on their assignment? Thanks a lot for any hint! -- Dimitri Liakhovitski
Sarah Goslee
2012-Jan-13 17:05 UTC
[R] Coloring counties on a full US map based on a certain criterion
Hi, You've just about got it. See below. On Fri, Jan 13, 2012 at 11:52 AM, Dimitri Liakhovitski <dimitri.liakhovitski at gmail.com> wrote:> Dear Rers, > > is there a way to color counties on a full US map based on a criterion > one establishes (i.e., all counties I assign the same number should be > the same color)? > I explored a bit and looks like the package "maps" might be of help. > library(maps) > One could get a map of the US: map('usa') > One could get countries within a US state: map('county', 'iowa', fill > = TRUE, col = palette())Using a random sampling to give you the basic idea. There are 99 counties in Iowa, so to construct the criterion: countycol <- sample(1:5, 99, replace=TRUE) And to invent a set of colors (RColorBrewer is a better choice for final maps): classcolors <- rainbow(5) then you can use them in your map just as you would for any other plotting command: map('county', 'iowa', fill= TRUE, col = classcolors[countycol])> Would it be possible to read in a file with counties and their > assignments (some counties have a 1, some counties have a 2, etc.) and > then have one map of the US with counties colored based on their > assignment?Absolutely. The only thing you have to watch out for is that you put your values in the same order as: map('county', 'iowa', plot=FALSE)$names Sarah -- Sarah Goslee http://www.functionaldiversity.org