调整绘图输出大小会导致栅格和点错位

resizing plot output causes raster and points to become misaligned

如果我使用 plot() 绘制 GIS 栅格图像,然后使用 points() 在图像上添加一些点:例如以下代码

in_rast_str <- "PET_eclp.tif"
in_rast <- raster(in_rast_str)
selected_cells <- choose_points(in_rast_str,10,30)
plot(in_rast)
points(selected_cells[,1],selected_cells[,2])

初始输出正确呈现。但是,如果我随后在导出 window 或 RStudio 的缩放 window 中调整图的大小,则点和底层栅格会相对移动并变得不对齐。

这是 RStudio 还是 R 的问题? 我猜这可能是一个错误,而不是我在做一些明显错误的事情。

更新...

这里有一些例子:

和相同的情节,但调整了大小

raster 的那个问题多年来一直困扰着我。

这并不能完全回答您的问题,但是 rasterVis 提供了一个非常令人满意的(无论如何对我来说)解决方法。

library(rasterVis)
r <- raster(matrix(runif(100), 10))  
xy <- xyFromCell(r, which(values(r) > 0.9))

levelplot(r, margin=FALSE) + layer(sp.points(xy, pch=20, cex=2, col=1))

随心所欲地调整大小和缩放 - 点将固定在正确的单元格上。