如何将像素值添加到绘图中?我可以通过使用获取值,click()但我希望它出现在图中。
library(raster)
r <- raster(nrow=3, ncol=3)
r[] <- 1:ncell(r)
plot(r)
click(r)
Run Code Online (Sandbox Code Playgroud)

如果你想显示所有值,你可以使用以下text方法:
library(raster)
r <- raster(nrow=3, ncol=3, vals=1:9)
plot(r)
text(r)
Run Code Online (Sandbox Code Playgroud)
对于子集,您可以执行以下操作:
z <- rasterToPoints(r, function(x) x > 6 )
plot(r)
text(z[,1], z[,2], z[,3])
Run Code Online (Sandbox Code Playgroud)
尝试以下操作,它基于从 返回的函数拼凑而成的部分
getMethod("click", signature="Raster")。
myClick <- function(x, n = Inf, id = FALSE, xy = FALSE, cell = FALSE,
type = "n", show = TRUE, ...) {
i <- 0
n <- max(n, 1)
while (i < n) {
i <- i + 1
loc <- locator(1, type, ...)
xyCoords <- cbind(x = loc$x, y = loc$y)
cells <- na.omit(cellFromXY(x, xyCoords))
if (length(cells) == 0)
break
value <- extract(x, cells)
text(xyCoords, labels = value)
}
}
## Try it out
myClick(r, n=4)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1739 次 |
| 最近记录: |