我想绘制英国的轮廓,沿着我从空间点数据框中生成的nb对象。
问题是,UK的大纲需要非常非常长的时间来绘制--它一直使我的RStudio崩溃。例如,这要么需要非常长的时间来加载,要么我的RStudio就停止响应。
library(raster)
UK_gadm <- getData("GADM", country="GB", level=0)
plot(UK_gadm)
所以我在solution中使用ggplot 2,通过以下命令,我可以在几分之一秒内获得UK的轮廓:
library(ggplot2)
UK <- map_data(map = "world", region = "UK") # changed map to "world"
ggplot(data = UK, aes(x = long, y = lat, group = group)) +
geom_polygon() +
coord_map()
现在的问题是,我希望nb对象以UK的轮廓为背景绘制--然而,这似乎只能在for example这样的基R中实现:
plot(orotl.shp, xlim=c(-125, -115), ylim=c(42,47))
plot(orstationc.neighbors.dist, orstationc.loc, add=T, lwd=2, col="blue")
有没有什么方法可以在ggplot中绘制nb对象,或者有没有一种方法可以让R绘制UK的轮廓,而不会使我的计算机与基本R绘图功能崩溃?
2条答案
按热度按时间b09cbbtk1#
经过一整晚的努力,终于找到了一个快速简单的解决方案。希望这对其他有类似问题的人有所帮助。
我们来详细说明一下目标:在一个shapefile中绘制一个邻居对象(nb)。这是为了可视化某些坐标之间的联系。在谷歌上搜索之后,我认为这只能用base R的plot函数来完成。然而,问题是加载一个国家的shapefile(从官方资源/gadm下载)--它太大了。
要解决这个问题,通过maps包得到一个更概括、更简单的国家Map,将其转换为shapefile,然后将其绘制在neighbors对象旁边。
下面是代码:
我没有意识到官方的边界文件通常非常详细,这也意味着它们非常庞大,我很高兴在r的Map包中有现成的淡化版本的Map(如果你已经知道了,对不起--我还在学习!)
希望这对其他人有帮助!
enyaitl32#