R:使用常见图例比例分别绘制和保存栅格砖图层

时间:2016-03-12 23:35:46

标签: r plot raster r-raster

我有一个多波段栅格砖对象,我正在寻找一种有效的解决方案,以.jpg格式分别绘制和保存每一个。 我不能使用spplot()或levelplot(),因为该对象有100层。

目前我计划将每个图层编写为单独的.tiff并使用Arcgis进行绘图。 Here是我正在处理的图层。

1 个答案:

答案 0 :(得分:5)

您可以编写一个函数来保存JPEG图,然后使用sapply

library(raster)

rand_raster <- function() {
  r <- raster(nrows = 10, ncols = 10)
  r[] <- runif(100)
  r
}

s <- brick(rand_raster(), rand_raster(), rand_raster())
breaks <- seq(from = min(summary(s)["Min.", ]),
              to = max(summary(s)["Max.", ]),
              length.out = 5)
palette <- colorRampPalette(colors = c("blue", "red"))
cols <- palette(5)

raster_plot <- function(x, s) {
  jpeg(filename = paste(names(s[[x]]), ".jpg"))
  plot(s[[x]], breaks = breaks, col = cols)
  dev.off()
}

sapply(1:nlayers(s), function(x) raster_plot(x, s))