用 ggplot 映射州边界

Posted

技术标签:

【中文标题】用 ggplot 映射州边界【英文标题】:Mapping state borders with ggplot 【发布时间】:2020-08-14 16:12:59 【问题描述】:

我正在尝试创建一个包含县和州边界的 ggplot 地图。我能够生成带有县边界的地图,但是在添加以下行以获取州边界时,我遇到了一个问题。代码转载如下。

ggplot2::geom_polygon(aes(x= long, y = lat, group = group), fill = NA, color = "black",

                      data = filter(us_map(), abbr %in% states_of_interest))

当我运行这段代码时,我得到了错误:

"FUN 中的错误(X[[i]], ...)

object 'long' not found"。我对 us_map 包比较陌生,但有人告诉我,在 x 和 y 中使用 long at lat 可以正常工作。

我已经尝试添加命令

“inherit.aes = FALSE”

根据其他堆栈溢出帖子的建议,但并没有解决错误。

【问题讨论】:

【参考方案1】:

us_map 函数返回一个带有xy 的对象,表示纬度/经度。您可以分别存储县和州,然后将它们作为多边形添加到ggplot

library(usmap)

states_of_interest <- c("CA","OR", "WA")

counties <- us_map(regions = "counties", include = states_of_interest)
states <- us_map(include = states_of_interest)

ggplot() +
  geom_polygon(data = counties, aes(x = x, y = y, group = group), fill = NA, color = "black") +
  geom_polygon(data = states, aes(x = x, y = y, group = group), fill = NA, color = "red") +
  coord_equal()

【讨论】:

以上是关于用 ggplot 映射州边界的主要内容,如果未能解决你的问题,请参考以下文章

确定地理点是不是在州边界的 X 米内(使用 shapefile 获取边界数据)

如何从R中的州边界获取纬度和经度数据

给定每个区域的边界和纬度/经度,以编程方式查找州/县

如何在r中添加特定(选定)美国州地图的边界?

带有/州边界的美国地图 - 根据计算值更改颜色

删除 ggplot 地图/choropleth 中的边界线