【问题标题】:Basic Choropleth State Map in RR中的基本Choropleth状态图
【发布时间】:2010-11-02 00:34:31
【问题描述】:

我很抱歉,因为我很确定这是一个基本问题。我要做的就是使用 maps 包在 R 中创建一个非常简单的等值线图。这是我第一次尝试在 R 中映射任何数据。

我的地理位置是包括华盛顿在内的 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)

attached image 就是我看到的。我是 R 新手,但我想未填写的状态没有正确合并,但我相信我使用的是“标准”状态缩写。

我做错了什么!/需要修复?

任何帮助将不胜感激。

【问题讨论】:

标签: r gis


【解决方案1】:

如果你去掉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)

见附图:

【讨论】:

  • 当我删除区域线时,我的地图完全填满了。但是,我怀疑我必须在我的向量 choro 中排列数据以匹配状态的顺序,如果它有效,那很好。让数据对齐的最简单方法是什么?
  • 完全正确。颜色矢量会被回收,因此您也希望成为轮廓的任何状态都需要“白色”颜色。要查看正确的州缩写,请键入> state.abb
【解决方案2】:

这里的相关问题:Choropleth mapping issue in R 和教程在这里:http://www.thisisthegreenroom.com/2009/choropleths-in-r/

如前所述,您需要将颜色与绘制的区域合并。上面的第二个链接显示了一种将州缩写与 R 希望/需要使用 maps 包的完整州名进行匹配的技术。根据choro 数据的来源,在读入 R 之前,用完整的状态名称替换状态缩写可能是最简单的方法。要注意的另一件事是绘制了 63 个状态对象。例如,纽约有几个不同的对象。要获得完整的地图,必须映射到这些副本。

我建议对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)

您还可以查看ggplot2 中的map_data() 函数,了解合并数据以轻松创建等值线图的其他示例。

【讨论】:

  • 感谢您的链接。我看到了greenroom教程,这有点让我头疼。这似乎更符合我对 R 的工作知识。我会试一试。谢谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
  • 2016-05-31
  • 2016-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-07
相关资源
最近更新 更多