r - 用 ggplot 映射州边界
问题描述
我正在尝试创建具有县和州边界的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]], ...)
找不到对象'long'”。我对us_map包相对不熟悉,但有人告诉我在纬度使用long for x和y会正常工作。
我试过添加命令
“继承.aes = FALSE”
根据其他堆栈溢出帖子的建议,但它没有解决错误。
解决方案
该us_map
函数返回一个带有x
和y
用于纬度/经度的对象。您可以分别存储县和州,然后将它们都添加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()
推荐阅读
- azure-pipelines - 本地 DevOps 构建代理在 NuGet 还原时失败,并显示“证书已过期”
- c - 布尔值的 Scanf
- excel - VBA 运行时 424:如何使用 dim frm 和显示用户窗体
- bash - 使用邮件 bash 脚本发送带有附件和正文的邮件
- vue.js - 使用 ngrok 解决发布 localhost 期间的问题
- java - 无法在作为库导入另一个 Java 项目的 Java 项目中找到该文件
- php - 如何在 CFS 中获取字段组的名称?
- asp.net - .NET 应用服务需要 SDK 才能在 Linux 上运行?
- db2 - DB2 for z/OS:CURSOR FOR UPDATE 锁定行为
- dom - 验证未出现在 DOM 中的元素