调整绘图输出大小会导致栅格和点错位
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))
随心所欲地调整大小和缩放 - 点将固定在正确的单元格上。
如果我使用 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))
随心所欲地调整大小和缩放 - 点将固定在正确的单元格上。