【R语言】栅格数据快速制图-levelplot函数

使用R语言中rasterVis包里的levelplot函数可以快速方便地对栅格数据进行制图,非常实用,下面做简单地讲解实例。
多张图一块制作请参考:【R语言】栅格数据快速制图-levelplot函数(2)


栅格制图

# 加载package
library(raster)
library(rasterVis) 
library(lattice)

基础展示:

根据坐标轴展示的栅格图像;
两个边缘分布展示为行列的平均值;
颜色图例;

levelplot(rprob)

在这里插入图片描述
对图像的栅格值进行对数变换(zscaleLog=TRUE),并添加水平等值线(contour=TRUE)。

levelplot(rprob, zscaleLog = TRUE, contour = TRUE)

在这里插入图片描述
改变边缘分布的函数

levelplot(rprob, zscaleLog = NULL, contour = TRUE, FUN.margin = median)

在这里插入图片描述
取消边缘分布,加上标题

levelplot(rprob, contour = TRUE, margin = FALSE, main = "p(dep > 1kg/m2 per eruption event)")

在这里插入图片描述
取消所有元素

levelplot(rprob, margin = FALSE, scales = list(draw = FALSE), colorkey = FALSE)

在这里插入图片描述
控制颜色变化点

miat = c(0, 0.25, 0.5, 0.75, 1)
levelplot(rprob, contour = TRUE, margin = FALSE, at = miat)

在这里插入图片描述
图例颜色与图的颜色相互独立。
通过colorkey参数来控制颜色键。定义颜色在颜色键中应该改变的位置:

myColorkey <- list(at = c(0, 0.5, 1))
levelplot(rprob, zscaleLog = NULL, contour = TRUE, margin = FALSE, at = miat, 
    colorkey = myColorkey)

在这里插入图片描述
我们通常想要在图片和颜色键上有一致的中断。
定义了颜色应该在哪里改变,应该写哪些标签,应该在哪里写

myColorkey <- list(at=miat, ## where the colors change
                   labels=list(labels=miat, ##what to print
                               at=miat))    ##where to print       
levelplot(rprob,zscaleLog=NULL,contour=TRUE, margin=FALSE,at=miat,colorkey=myColorkey)

在这里插入图片描述
图例标签变化

myColorkey <- list(at = miat, labels = list(labels = c("Low", "Medium-low", 
    "Medium-high", "High"), at = miat + 0.125))
levelplot(rprob, zscaleLog = NULL, contour = TRUE, margin = FALSE, at = miat, 
    colorkey = myColorkey)

在这里插入图片描述
颜色主题,package(Lattice)

GrTheme (grey palette)
levelplot(rprob, contour = TRUE, margin = FALSE, at = (0:10)/10, par.settings = GrTheme)

在这里插入图片描述
在这里插入图片描述
保存图片

rprobrv1 <- levelplot(rprob, margin = FALSE, contour = TRUE, par.settings = rainbTheme10, 
    at = (0:10)/10, main = "p(dep > 1kg/m2 per eruption event)")
print(rprobrv1)
#为了将图形保存为图形文件,我们首先“打开”图形设备(在本例中是一个bmp文件),然后显示它,最后关闭设备:
bmp("rprobrv1.bmp", height = 1024 * 0.707, width = 1024)  #0.707 is a convenient aspect.ratio
rprobrv1
dev.off()
Important: as with the rest of standard graphics in R, the file is not actually written until dev.off()
savename <- str_c('picture/',year*100+m,'.jpg')
p.picture=paste(savename)
jpeg(savename,height = 500 * 0.707, width = 500)
savepic <- levelplot(tgr_ts, par.settings = BuRdTheme,at = miat,margin = FALSE,colorkey=myColorkey,main = name)
print(savepic)
dev.off()

以上内容翻译、节选自:
https://rstudio-pubs-static.s3.amazonaws.com/16756_56e9817f4cab42ceae5bc28b788c2c01.html
如有侵权请联系作者删除或修改。

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值