rasterVis包中的levelplot函数除了出单张图,也可以快速随多张地图进行制作。
单张地图制图参考:【R语言】栅格数据快速制图-levelplot函数
此处主要使用raster包中的stack函数将多幅图合为影像集。
#栅格数据包括.tiff、.nc、.flt等常见格式
library(raster)
library(rasterVis)
library(lattice)
#设定工作空间
setwd('E:\\hancang')
#读取文件夹中的全部文件
files = list.files(full.names = T)
#读取文件夹中格式为.flt的文件
files = list.files(pattern = '.flt$',full.names = T)
#将前四个文件导入stack
tgr_ts = stack(files[1:4],varname = 'tsoil')
#导入指定的文件
tgr_ts = stack("./1.flt","./2.flt","./3.flt","./4.flt","./5.flt","./6.flt","./7.flt","./8.flt","./9.flt","./10.flt","./11.flt","./12.flt")
names(tgr_ts) <- c('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec')
#作图,选择颜色主题
miat = c(-35, -30, -25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25, 30, 35)
miat2 = c(-30, -20, -10, 0, 10, 20, 30)
myColorkey <- list(at=miat, ## where the colors change
labels=list(labels=miat2, ##what to print
at=miat2))
levelplot(tgr_ts, par.settings = BuRdTheme,at = miat,scales = list(draw = FALSE), margin = FALSE,colorkey=myColorkey)
注:代码中可能存在不需要完全运行的语句,具体请根据自己需要选择。
出图效果展示: