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

如何在R的map包中缩放地图,显示含夏威夷与波多黎各的美洲北部?

R中map包缩放至北美区域并显示夏威夷、波多黎各的解决方案

一、缩放地图到指定北美区域

直接在map()函数中通过xlim和ylim参数限定坐标范围,使用你提供的数值即可实现区域缩放:

library(map)

# 定义坐标范围
x_limits <- c(-179, -65)
y_limits <- c(15, 75)

# 绘制限定范围的地图
map("world", col="white", border="gray10", fill=TRUE, bg="grey30",
    xlim = x_limits, ylim = y_limits)

二、解决夏威夷和波多黎各不显示的问题

map包的"state"数据集仅包含美国本土48个州,夏威夷和波多黎各需要从"world"数据集中单独提取并叠加到地图上:

library(map)

x_limits <- c(-179, -65)
y_limits <- c(15, 75)

# 先绘制美国本土州地图
map("state", col="white", border="gray10", fill=TRUE, bg="grey30",
    xlim = x_limits, ylim = y_limits)

# 叠加夏威夷地图
map("world", regions = "Hawaii", col="white", border="gray10", fill=TRUE, add = TRUE)

# 叠加波多黎各地图
map("world", regions = "Puerto Rico", col="white", border="gray10", fill=TRUE, add = TRUE)

三、可选:直接绘制完整北美区域(含主要国家)

如果需要显示加拿大、墨西哥等北美主要区域,可直接从"world"数据集中过滤对应地区:

library(map)

x_limits <- c(-179, -65)
y_limits <- c(15, 75)

# 绘制北美核心区域地图
map("world", regions = c("USA", "Canada", "Mexico", "Hawaii", "Puerto Rico"),
    col="white", border="gray10", fill=TRUE, bg="grey30",
    xlim = x_limits, ylim = y_limits)

注意事项

  • 若未安装map包,先运行install.packages("map")完成安装;
  • 可通过map("world", plot = FALSE)$names查看"world"数据集的所有区域名称,确保夏威夷、波多黎各的名称拼写正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:15:33