[R] Coloring counties on a full US map based on a certain criterion

Dimitri Liakhovitski dimitri.liakhovitski at gmail.com
Fri Jan 13 19:52:18 CET 2012


Just to clarify, according to help about the "fill" argument:
logical flag that says whether to draw lines or fill areas. If FALSE,
the lines bounding each region will be drawn (but only once, for
interior lines). If TRUE, each region will be filled using colors from
the col = argument, and bounding lines will not be drawn.
We have fill=TRUE - so why are the county borders still drawn?
Thank you!
Dimitri


On Fri, Jan 13, 2012 at 1:41 PM, Dimitri Liakhovitski
<dimitri.liakhovitski at gmail.com> wrote:
> Thank you somuch, Sarah. I tried, and it's working just wonderfully
> (code below).
> One last question, if I may: is it possible to get rid of borders
> between counties (just leave the fill)? I did not find this argument
> in help...
> Thank you!
> Dimitri
>
> ### My criterion for all counties.:
> allcounties<-data.frame(county=map('county', plot=FALSE)$names)
> allcounties$group<-c(rep(1:6,513),rep(1,4))[order(c(rep(1:6,513),rep(1,4)))]
> ### My colors:
> classcolors <- rainbow(6)
> map('county',fill=TRUE,col=classcolors[allcounties$group])
> map('state', lwd=2, add=TRUE)
>
>
>
>> Sure. Just start with
>> map('county')
>> instead.
>> I like to add something like:
>> map('state', lwd=3, add=TRUE)
>
> I am trying:
> ### My criterion for all counties in the US:
> allcounties<-data.frame(county=map('county', plot=FALSE)$names)
> allcounties$group<-sample(1:5,3082,replace=TRUE)
> ### My colors:
> classcolors <- rainbow(5)
> ### Trying to build the map - not working:
> map(database='usa',regions='county',fill=TRUE,col=classcolors[allcounties$group])
>
>
>
>> You'll need to instead coordinate with the names of the entire US:
>>> length(map('county', plot=FALSE)$names)
>> [1] 3082
>>
>> Sarah
>>
>>> Or maybe it's possible to create 48 colored state maps one by one -
>>> the way you showed me - save them, and then somehow "paste" those
>>> states onto the whole US map?
>>> Thanks a lot for your help!
>>> Dimitri
>>>
>>> On Fri, Jan 13, 2012 at 12:05 PM, Sarah Goslee <sarah.goslee at gmail.com> wrote:
>>>> 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 Goslee
>> http://www.functionaldiversity.org
>
>
>
> --
> Dimitri Liakhovitski
> marketfusionanalytics.com



-- 
Dimitri Liakhovitski
marketfusionanalytics.com



More information about the R-help mailing list