根据R中的值,美国颜色

时间:2013-12-06 21:59:41

标签: r map colors maps state

在R中,我想按价值为美国各州着色。 我将数据放在这样的表中:

    AK  0.1511529
    AL  0.1720370
    AR  0.2078534
    AZ  0.2057174

如何以简单的方式完成此操作?我尝试过使用

    maps("state"), 

但是这给了我与州缩写不对应的州名:

"alabama"
"arizona"                         

等等

"washington:orcas island"

我觉得应该有一个简单的解决方案,而不是尝试使用

匹配它们
 state.abb
 state.name

由于

1 个答案:

答案 0 :(得分:0)

匹配并不是一个糟糕的解决方案。我希望这个代码示例有所帮助。

# your values (here as named vector)
values <- runif(length(state.abb),0,1)
names(values) <- state.abb

# getting the names used by map
tmp <- map('state',plot=FALSE,namesonly=TRUE)
# matching (after adjusting using gsub and tolower)
tmp <- match(gsub('(:.*)','',tmp),tolower(state.name))
# convert your numbers to grey-scale and selct using the match
map('state',fill=TRUE,col=grey(values)[tmp])

匹配是必要的,因为每个状态可能有多个多边形。