【问题标题】:Create interactive plot in R在 R 中创建交互式绘图
【发布时间】:2019-02-04 15:15:54
【问题描述】:

我想知道在 R (RStudio) 中是否有可能有一个交互式绘图,用户单击图像并将其用作即将进行的处理的输入。这是我的情况:

我有一个要绘制的栅格

plot(NDVI[[4]])

[![在此处输入图片描述][1]][1]

之后,我添加了包含多边形限制的第二层:

plot(fields, add=TRUE)

[![在此处输入图片描述][2]][2]

我的目标是用户单击图像以选择其中一些多边形(比如说 3)。这些点击用于识别那些多边形,这些多边形稍后将用于导出它们所代表的区域内的平均栅格值。

到目前为止,我一直在更新包含点的 shapefile,但我想进行更多交互

points<-readOGR("Points_crops.shp") 
fields<-readOGR("Boundaries.shp")
fields_sub <- fields[!is.na(sp::over(fields, sp::geometry(points))), ]
NDVI_mean<-lapply(NDVI, FUN=function (NDVI) {data.frame(mean=extract(NDVI,fields_sub,fun=mean))})

【问题讨论】:

  • 我不确定它是否对您有帮助,但请看一下 mapview 包。
  • 感谢您的建议。不知道这个包,我发现了几个可以在其他项目中帮助我的功能:)
  • @patL,如果你有使用mapview::cubeview() 的经验,你能看看这个吗? - stackoverflow.com/questions/54553138/…

标签: r ggplot2 plot raster shapefile


【解决方案1】:

对于那些感兴趣的人,我已经使用click 函数解决了这个问题。这将检索您用鼠标单击的点的坐标。之后,您可以将它们转换为spatialPoints 设置proj4string(与参考栅格之一相同)。

  points<-click(NDVI[[4]], n=5, xy=TRUE, show=TRUE)
  points$value<-NULL
  points<-SpatialPoints(points, proj4string = crs(S2_stack_crop[[2]]))

一旦我得到spatialPoints 的分数,我就可以继续下一步了

【讨论】:

    猜你喜欢
    • 2021-06-16
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    • 2018-12-03
    • 2019-11-13
    • 2014-03-07
    相关资源
    最近更新 更多