我正在尝试使用 Eurostat 提供的 shapefile 和数据生成 Choroplete map 。 shapefile 已下载 here :使用来自 this post 的 JD Longs 代码。

这是重现我在下面发布的图的最少代码。

library(maptools)
tmpdir <- tempdir()
url <- 'http://ec.europa.eu/eurostat/cache/GISCO/geodatafiles/NUTS_2010_03M_SH.zip'
file <- basename(url)
download.file(url, file)
unzip(file, exdir = tmpdir )
shapeFile <- paste(tmpdir,"/Shape/data/NUTS_RG_03M_2010", sep="")

EU <- readShapeSpatial(shapeFile)
plot(EU)

我的问题是我想让情节区域只关注欧洲,但由于海外地区(法国和西类牙),情节没有正确的焦点。在上面的例子中,有没有一种简单的方法来“裁剪”绘图区域?

我想去掉的多边形是“Country_Shape”的一部分,所以过滤掉它们是没有办法的。
我试图通过在 plot 命令中定义 xlim 和 ylim 参数来实现我的目标,但没有成功。我使用 locator() 从图形设备获取坐标,但插入值并没有提供想要的结果。

最佳答案

shapefile 投影文件(Shape/data/NUTS_RG_03M_2010.prj)显示如下:



.prj 文件中包含的信息指定了 Shapefile 中几何数据的地理坐标系。为这个坐标系尝试适当的 xlimylim 坐标:

R> plot(EU, ylim=c(30, 70), xlim=c(-10, 44))
R> box()

关于r - 来自 shapefile 的裁剪图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12820176/

10-12 21:49