【问题标题】:R how to add border countries to a country spatialpolygons mapR如何将边界国家添加到国家空间多边形地图
【发布时间】:2014-11-13 17:17:47
【问题描述】:

我正在尝试使用带有 R 的 spatialpolygons 制作一些色彩丰富的地图。我从 gadm.org 网站下载了 shapefile,并按照http://bl.ocks.org/prabhasp/raw/5030005/ 为我想要的区域着色。但是,我认为如果我能够将越南与之接壤的国家的一部分放在地图上,我认为地图会更好看,就像在这张维基百科地图中一样

我不知道从什么开始,有人能给我提示吗?我应该下载区域地图,然后加入边境国家的区域并在越南的省级工作吗?或者我可以在国家一级绘制我的越南地图吗?

【问题讨论】:

  • 如果您在链接的 bl.ocks 代码中使用 ggplot,只要您有形状数据,就可以轻松添加更多多边形。只需向源数据框添加更多行
  • 源数据框是指由命令 fortify 创建的数据框?

标签: r maps


【解决方案1】:

如果这是一次性的,我会倾向于这样做。

library(raster)
library(ggplot2)
vietnam  <- getData("GADM",country="Vietnam",level=2)
china    <- getData("GADM",country="China",level=0)
laos     <- getData("GADM",country="Laos",level=0)
cambodia <- getData("GADM",country="Cambodia",level=0)
thailand <- getData("GADM",country="Thailand",level=0)

ggplot(vietnam,aes(x=long,y=lat,group=group))+
  geom_polygon(aes(fill=id),color="grey30")+
  geom_polygon(data=china,fill="grey60",color="grey80")+
  geom_polygon(data=laos,fill="grey60",color="grey80")+
  geom_polygon(data=cambodia,fill="grey60",color="grey80")+
  geom_polygon(data=thailand,fill="grey60",color="grey80")+
  coord_map(xlim=c(-1,1)+bbox(vietnam)["x",],ylim=c(-1,1)+bbox(vietnam)["y",])+
  scale_fill_discrete(guide="none")+
  theme_bw()+theme(panel.grid=element_blank())

标记边境国家比较棘手,因为您必须知道在哪里放置标签,而且您不能使用国家质心,因为它们不在地图上。我会包括在内,并使用annotate(geom="text",...)

【讨论】:

  • Mhh,这可以解决问题,但我无法调整所有与它相关的代码来为各省着色。我的意思是,ggplot 命令中的代码与我目前使用的代码有些不同(就像在链接中一样)。我先看一下手册,看看geop_map和geom_polygon有什么区别。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-23
  • 2021-05-11
  • 1970-01-01
  • 1970-01-01
  • 2023-01-30
  • 2013-05-16
  • 2018-09-08
相关资源
最近更新 更多