调整绘图输出大小会导致栅格和点变得不对齐

标签 r gis

如果我使用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])

初始输出渲染正确。但是,如果我随后在导出窗口或 RStudio 的缩放窗口中调整绘图的大小,则这些点和底层光栅会相对于彼此移动并变得不对齐。

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

更新...

以下是一些示例: original plot

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

enter image description here

最佳答案

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))

enter image description here

根据需要调整大小和缩放 - 点将粘在正确的单元格上。

关于调整绘图输出大小会导致栅格和点变得不对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28371270/

相关文章:

r - 将列类型转换为数值时更改值

java - 表示 map 并在其上运行 A*

r - Dymaxion/Airocean(二十面体) map 投影的ggplot

algorithm - 如何将球面三角形映射到平面三角形?

r - 将 DMS 坐标转换为 R 中的十进制度数

r - 如何在离线服务器上安装H2O R包?

r - 如何在 R Leaflet 中自定义图例标签

r - 根据其余列更改第一列

geolocation - 有没有一种方法可以获得不包含国家/地区的世界形状文件?

r - 带循环的多个数据帧上的 Ggplot