我正在尝试在极地立体投影中绘制北极地图。为此,我使用 rGDAL 包将已投影的 shapefile 导入 R:
ds <- readOGR(dsn = path, layer = "10m_coastline_ps")
这将创建一个SpatialLinesDataFrame
. 现在,当我SpatialLinesDataFrame
使用plot()
函数绘制它时,我无法使用xlim
和ylim
参数设置绘图限制:
plot(ds, xlim=c(-1700000,1700000), ylim=c(-4000000,800000), axes=T)
该plot()
函数自动将纵横比设置为 1 并强制轴限制(如本文所述:igraph axes xlim ylim plot wrongly)。这将产生以下图:
我尝试在绘制 SpatialLinesDataFrame 之前初始化绘图范围,如下所示:
mapExtentPr <- rbind(c(-1700000,-4000000), c(1700000,800000))
plot(mapExtentPr, pch=NA)
plot(ds, xlim=c(-1700000,1700000), ylim=c(-4000000,800000), axes=T, asp = 1, add=TRUE)
这设置了正确的限制,但不保持纵横比。我也尝试过使用clip()
没有效果的功能。
有没有办法在保持纵横比为 1 的同时准确设置绘图限制(不使用ggplot
or spplot
)?
注意:我已经检查了这个答案:是否可以在绘制绘图时更改 ylim 和 xlim?