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

如何在R中制作按邮政编码划分的肯塔基州热力地图

R 3.6.3 环境下绘制肯塔基州邮编热力图方案

假设你的原始数据框命名为ky_zip_data,包含两列:

  • zip:字符型,肯塔基州邮政编码
  • value:数值型,取值范围为-1到1的待可视化指标

步骤1:安装并加载依赖包

# 首次使用先执行安装,已安装可直接跳过该部分
install.packages(c("tigris", "ggplot2", "dplyr", "scales"))

# 加载所需工具包
library(tigris)
library(ggplot2)
library(dplyr)
library(scales)

步骤2:获取肯塔基州邮编边界并匹配自定义数据

# 下载肯塔基州邮编边界数据(ZCTA为统计用邮政编码区域,和实际民用邮编匹配度达99%以上)
ky_zcta <- zctas(state = "KY", year = 2010) # 2010版边界适配R3.6.3对应的tigris版本,兼容性更好

# 转为普通数据框格式方便数据匹配
ky_zcta_df <- fortify(ky_zcta, region = "ZCTA5CE10")

# 匹配你的自定义指标数值
map_data <- ky_zcta_df %>%
  left_join(ky_zip_data, by = c("id" = "zip"))

步骤3:绘制热力图

ggplot(map_data, aes(x = long, y = lat, group = group, fill = value)) +
  geom_polygon(color = "white", size = 0.1) + # 白色邮编分割边界,可自行调整粗细
  coord_equal() + # 保持地理图形比例不形变
  scale_fill_gradient2(
    low = "#2c7bb6", # -1对应深蓝色,可自定义色值
    mid = "#ffffff", # 0对应白色,可自定义色值
    high = "#d7191c", # 1对应深红色,可自定义色值
    limits = c(-1, 1), # 固定色阶范围,不会随数据分布偏移
    midpoint = 0,
    name = "自定义图例名称" # 替换为你的指标名
  ) +
  theme_void() + # 清空无关的坐标轴、背景元素
  labs(title = "肯塔基州指定指标热力分布")

注意事项

  • 你的原始数据中zip列必须转为字符型,避免肯塔基州以0开头的邮编丢失前导零导致匹配失败,转换代码:ky_zip_data$zip <- as.character(ky_zip_data$zip)
  • 首次运行zctas()函数时会提示是否缓存数据,选择同意即可,后续调用无需重复下载
  • 若安装最新版包出现兼容性报错,可搜索对应适配R3.6.3的包版本本地安装即可正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:15:03