[英]Basic Choropleth State Map in R
我很抱歉,因为我可以肯定这是一个基本问题。 我要做的就是使用maps包在R中创建一个非常简单的Choropleth映射。 这是我第一次尝试映射R中的任何数据。
我的地理位置是包括DC在内的下48个州。 这是我要绘制的数据集的前几行。
> head(choro, n=7)
AL AR AZ CA CO CT DC
"red" "red" "red" "blue" "blue" "blue" "red"
当我尝试绘制基本地图时:
map("state",
regions = names(choro),
lty = 1, lwd =1,
boundary=TRUE,
fill=TRUE,
col=choro)
所附图片就是我所看到的。 我是R的新手,但我想未填充的状态不能正确合并,尽管我相信我使用的是“标准”状态缩写。
我在做什么错!/需要解决?
任何帮助将不胜感激。
如果您将regions = names(choro)取出,则会得到一个更完整的地图。 如果要绘制Choro向量中可能缺少的项目,那为什么不用“白色”代替颜色呢? 如果您需要更完整的答案,请提供完整的choro副本。
choro <- c( "red", "red", "red" ,"blue" ,"blue", "blue", "red")
require(maps)
data(state)
names(choro) <-names(state)[1:7]
map("state", lty = 1, lwd =1,
boundary=TRUE, fill=TRUE,
col=choro)
参见附图:
相关问题在这里: R中的Choropleth映射问题 And此处的教程: http : //www.thisisthegreenroom.com/2009/choropleths-in-r/
如前所述,您将希望将颜色与绘制的区域合并。 上面的第二个链接显示了一种将状态缩写与R希望/需要使用maps包的完整状态名进行匹配的技术。 根据choro
数据的来源,最简单的方法是在读入R之前用完整的状态名称替换状态缩写。还要注意的另一件事是,绘制了63个状态对象。 例如,新约斯克(New Yorsk)有一些不同的对象。 完整映射需要映射到这些重复项。
我建议两次调用map
函数-第一个调用绘制填充,第二个添加不同的轮廓。 例如:
# Extract mapnames for States
mapnames <- data.frame(
state = map("state",plot=FALSE)[4]$names
, col = sample(c("pink", "purple", "lavender", "blue"), 63, replace = TRUE)
)
#Plot the colors
map("state", regions = mapnames$state, col = mapnames$col, fill = TRUE, lty = 1, lwd= 1)
#Plot the outlines
map("state", regions = mapnames$state, col = "black", fill = FALSE, add = TRUE, lty = 1, lwd = 1)
您还可以查看map_data()
中的map_data()
函数, ggplot2
获取其他合并数据的示例,以轻松创建Choropleth地图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.