顶部光栅背景上空间对象的图例
legend of spatial objects on top raster background
有一些很好的例子可以说明如何将 vector/raster 地图叠加到 Plotting vector maps overlaid on top of a raster background in R or Overlay your raster layer on a background GM layer in R 等栅格图层上。但是合并后的图形中缺少图例。在示例中 rproblv
有图例,但 migmaplv + rproblv
没有。
有没有一种简单的方法可以合并两个 levelplot
或 spplot
对象并在结果中保留一个或两个图例?
来自Overlay your raster layer on a background GM layer in R
library(utils); library(colorRamps); library(rgdal);
library(raster); library(dismo); library(rasterVis)
download.file(
"https://dl.dropboxusercontent.com/u/3180464/rprob520.tif",
"rprob520.tif", method = "curl")
rprob <- raster("rprob520.tif")
rprobGM <- projectRaster(from = rprob, crs = CRS("+init=epsg:3857"))
migmap <- gmap(x = rprob, type = "hybrid", zoom = 5)
migmaplv <- levelplot(
migmap, maxpixels = ncell(migmap),
col.regions = migmap@legend@colortable,
at = 0:255, panel = panel.levelplot.raster, interpolate = TRUE,
colorkey = FALSE, margin = FALSE)
rproblv <- levelplot(
rprobGM, margin = FALSE, contour = TRUE,
par.settings = rasterTheme(region = matlab.like(n = 10)),
alpha.regions = 0.35, at = (0:10)/10,
main = "p(dep > 1kg/m2 per eruption event)")
print(migmaplv + rproblv)
将as.layer
函数与under = TRUE
结合使用:
rproblv + as.layer(migmaplv, under = TRUE)
有一些很好的例子可以说明如何将 vector/raster 地图叠加到 Plotting vector maps overlaid on top of a raster background in R or Overlay your raster layer on a background GM layer in R 等栅格图层上。但是合并后的图形中缺少图例。在示例中 rproblv
有图例,但 migmaplv + rproblv
没有。
有没有一种简单的方法可以合并两个 levelplot
或 spplot
对象并在结果中保留一个或两个图例?
来自Overlay your raster layer on a background GM layer in R
library(utils); library(colorRamps); library(rgdal);
library(raster); library(dismo); library(rasterVis)
download.file(
"https://dl.dropboxusercontent.com/u/3180464/rprob520.tif",
"rprob520.tif", method = "curl")
rprob <- raster("rprob520.tif")
rprobGM <- projectRaster(from = rprob, crs = CRS("+init=epsg:3857"))
migmap <- gmap(x = rprob, type = "hybrid", zoom = 5)
migmaplv <- levelplot(
migmap, maxpixels = ncell(migmap),
col.regions = migmap@legend@colortable,
at = 0:255, panel = panel.levelplot.raster, interpolate = TRUE,
colorkey = FALSE, margin = FALSE)
rproblv <- levelplot(
rprobGM, margin = FALSE, contour = TRUE,
par.settings = rasterTheme(region = matlab.like(n = 10)),
alpha.regions = 0.35, at = (0:10)/10,
main = "p(dep > 1kg/m2 per eruption event)")
print(migmaplv + rproblv)
将as.layer
函数与under = TRUE
结合使用:
rproblv + as.layer(migmaplv, under = TRUE)