You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言绘制美国各州热力图报错及实现方案咨询

问题解答

3. 代码运行错误原因及修复

你的代码错误核心是nurses数据集的State列包含非美国本土州/特区的条目:2020年的汇总数据里包含全国汇总行「United States」以及部分海外领地,这些条目和usmap内置的statepop数据集匹配时会生成fips为NA的行,plot_usmap无法处理这些无对应空间坐标的行就会报错。
修复只需要在合并数据后过滤掉fips为空的行即可,修复后可运行代码如下:

library(usmap)
library(tidyverse)

nurses <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2021/2021-10-05/nurses.csv')

plot_data <- nurses %>% 
  filter(Year == 2020) %>% 
  select(State, `Total Employed RN`) %>% 
  rename("Total_Employed" = 2)

statepop <- statepop %>% 
  rename(State = full)

merged_df <- left_join(plot_data, statepop, by = "State") %>% 
  filter(!is.na(fips)) # 新增过滤行,删除无匹配的无效数据

# 现在可以正常出图
plot_usmap(data = merged_df,
           values = "Total_Employed",
           color = "blue") +
  scale_fill_continuous(low = "white",
                        high = "blue",
                        name = "注册护士从业人数") +
  theme_minimal()

1. USMAP是不是绘制美国州级热力图的最优工具

  • 对常规快速出图需求来说,USMAP是性价比很高的选择:它内置了适配美国地图的投影,自动平移阿拉斯加、夏威夷的位置,无需自行处理空间文件、坐标校准,几行代码就能出合规的美国热力图,适合入门和快速分析场景。
  • 但如果有高度自定义需求(比如叠加其他空间图层、调整边界精度、使用特殊投影),USMAP的灵活性不足,不算最优方案。

2. 基于ggplot2的替代实现方案

不使用usmap包的前提下,有两种常见的ggplot2原生实现方案:

方案1:使用ggplot2内置的州边界数据

ggplot2自带map_data()函数可以直接调用美国州边界坐标,匹配数据后用geom_polygon绘制,示例代码:

library(tidyverse)
# 读取州边界数据,state列是小写的州名
state_bound <- map_data("state")

# 处理业务数据,把州名转小写方便匹配
plot_data <- nurses %>% 
  filter(Year == 2020) %>% 
  select(State, `Total Employed RN`) %>% 
  rename(Total_Employed = 2) %>% 
  mutate(region = str_to_lower(State))

# 匹配后绘图
left_join(state_bound, plot_data, by = "region") %>% 
  ggplot(aes(x = long, y = lat, group = group, fill = Total_Employed)) +
  geom_polygon(color = "white") +
  scale_fill_gradient(low = "white", high = "blue") +
  coord_map("albers", lat0 = 39, lat1 = 45) + # 设置适配美国的阿尔伯斯投影
  theme_void()

方案2:使用sf包读取官方空间文件

如果需要更高精度的边界或者更多自定义能力,可以下载美国人口普查局发布的官方shp边界文件,用sf包读取为sf对象后,直接用ggplot2的geom_sf()图层绘制,灵活性最高。


内容的提问来源于stack exchange,提问作者Indescribled

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:27:04