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

关于india_map <- map_data("world", region = "India")的印度地图技术问询

问题1:使用代码india_map <- map_data("world", region = "India")生成的印度地图是否包含克什米尔地区?

map_data()是ggplot2依赖的maps包中的函数,它调用的世界地图数据集会包含克什米尔的地理区域,但需要注意:

  • 该数据集以地理边界为核心,不会明确标注政治归属,因为克什米尔存在国际边界争议
  • 不同版本的maps包可能对边界的绘制有细微差异,但主流版本都会覆盖该区域的地理范围
问题2:如何通过该代码在印度地图中精确定位具体地点?

可以按照以下步骤操作:

  1. 获取目标地点的经纬度:手动查找目标地点的精确经纬度(比如新德里经度约77.2167、纬度约28.6667),也可以用R中的地理编码工具(比如ggmap包的geocode()函数)批量获取
  2. 构建地点数据框:将需要定位的地点名称、经纬度整理成数据框,示例:
locations <- data.frame(
  name = c("新德里", "孟买"),
  lon = c(77.2167, 72.8777),
  lat = c(28.6667, 19.0760)
)
  1. 绘制地图并添加定位点:用ggplot2绘图,在基础地图上叠加定位点和标注,示例代码:
library(ggplot2)
india_map <- map_data("world", region = "India")

ggplot() +
  geom_polygon(data = india_map, aes(x = long, y = lat, group = group), fill = "lightgray", color = "black") +
  # 添加定位点
  geom_point(data = locations, aes(x = lon, y = lat), color = "red", size = 3) +
  # 添加地点名称标注
  geom_text(data = locations, aes(x = lon, y = lat, label = name), vjust = -1) +
  coord_fixed(1.3) +
  theme_void()
  • geom_point()用于绘制定位点,通过color和size参数突出显示
  • geom_text()/geom_label()用于添加地点名称,vjust参数调整标注位置避免遮挡
  • coord_fixed()保证地图比例不失真

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 19:41:00