将空间点数据框叠加到栅格上后如何保存
How to save after overlaying a spatial point data frame onto raster
我试图将 SpatialPointsDataFrame
(黄鸟)叠加到 raster
数据(地图)上。使用以下 R 代码成功:
map1 = plot(map)
overlay_map = plot(yellowbirds,add=TRUE,col="blue")
但是,当我想通过键入 overlay_map
重新生成地图时,生成的输出是 Null
而不是给我地图。
如何将以上内容正确保存为变量,以便无需再次输入代码即可生成地图?
没有任何可重现的例子很难帮助你。
不过,如果你只想保存剧情,
你可以这样做:
map1 <- plot(map)
overlay_map <- recordPlot() #To save the next plot into an object
plot(yellowbirds,add=TRUE,col="blue")
然后,再次调用该对象:
overlay_map
recordPlot
是正确的方法,只是它将 当前图 (参见 ?recordPlot
)保存到一个变量中。我创建了这个 可重现的示例 :
library(raster)
map <- raster(system.file("external/test.grd", package="raster"))
yellowbirds <- SpatialPoints(
coords = structure(c(179025.023681718, 179606.015156299, 179878.354910009,
180441.19040101, 180913.245974108, 330055.067887591, 330508.967477108,
331398.610672561, 331743.574360594, 332342.721818756),
.Dim = c(5L, 2L), .Dimnames = list(NULL, c("x", "y"))))
plot(map)
map1 <- recordPlot()
plot(yellowbirds, add = TRUE)
overlay_map <- recordPlot()
现在我们杀死当前的设备并重现两个情节:
dev.off()
map1
dev.off()
overlay_map
map
和 overlay_map
都应该在空设备中重新创建。即使您 rm(map1)
,overlay_map
也会正确绘制。
注意: 不要调用 plot(overlay_map)
,因为它会产生以下错误
Error in xy.coords(x, y, xlabel, ylabel, log) :
'x' is a list, but does not have components 'x' and 'y'
我试图将 SpatialPointsDataFrame
(黄鸟)叠加到 raster
数据(地图)上。使用以下 R 代码成功:
map1 = plot(map)
overlay_map = plot(yellowbirds,add=TRUE,col="blue")
但是,当我想通过键入 overlay_map
重新生成地图时,生成的输出是 Null
而不是给我地图。
如何将以上内容正确保存为变量,以便无需再次输入代码即可生成地图?
没有任何可重现的例子很难帮助你。
不过,如果你只想保存剧情, 你可以这样做:
map1 <- plot(map)
overlay_map <- recordPlot() #To save the next plot into an object
plot(yellowbirds,add=TRUE,col="blue")
然后,再次调用该对象:
overlay_map
recordPlot
是正确的方法,只是它将 当前图 (参见 ?recordPlot
)保存到一个变量中。我创建了这个 可重现的示例 :
library(raster)
map <- raster(system.file("external/test.grd", package="raster"))
yellowbirds <- SpatialPoints(
coords = structure(c(179025.023681718, 179606.015156299, 179878.354910009,
180441.19040101, 180913.245974108, 330055.067887591, 330508.967477108,
331398.610672561, 331743.574360594, 332342.721818756),
.Dim = c(5L, 2L), .Dimnames = list(NULL, c("x", "y"))))
plot(map)
map1 <- recordPlot()
plot(yellowbirds, add = TRUE)
overlay_map <- recordPlot()
现在我们杀死当前的设备并重现两个情节:
dev.off()
map1
dev.off()
overlay_map
map
和 overlay_map
都应该在空设备中重新创建。即使您 rm(map1)
,overlay_map
也会正确绘制。
注意: 不要调用 plot(overlay_map)
,因为它会产生以下错误
Error in xy.coords(x, y, xlabel, ylabel, log) : 'x' is a list, but does not have components 'x' and 'y'