如何反转RasterVisLevelplot的默认颜色?

问题描述

我想使用levelplot的认颜色,但顺序相反。我知道如何反转自定义颜色,但无法对rasterVis的认颜色进行设置。rasterVis

library(raster)
library(rasterVis)
##Solar irradiation data from CMSAF 
old <- setwd(tempdir())
download.file('https://raw.github.com/oscarperpinan/spacetime-vis/master/data/SISmm2008_CMSAF.zip','SISmm2008_CMSAF.zip',method='wget')
unzip('SISmm2008_CMSAF.zip')

listFich <- dir(pattern='\\.nc')
stackSIS <- stack(listFich)
stackSIS <- stackSIS * 24 ##from irradiance (W/m2) to irradiation Wh/m2

idx <- seq(as.Date('2008-01-15'),as.Date('2008-12-15'),'month')

SISmm <- setZ(stackSIS,idx)
names(SISmm) <- month.abb

setwd(old)
levelplot(SISmm)

如何颠倒黑色的颜色以指示较高的值,而浅颜色的颜色指示较浅的值?

谢谢您的帮助。

解决方法

rasterThemecustom.theme.2函数latticeExtra的自定义,它使用`viridisLite软件包的岩浆调色板:

     rasterTheme(region = magma(10),pch=19,cex=0.7,strip.background = list(col = 'transparent'),strip.shingle = list(col = 'transparent'),strip.border = list(col = 'transparent'),add.lines = list(lwd = .4),...)

因此,您应该将region参数与颠倒的岩浆调色板一起使用:

library(rasterVis)
library(viridisLite)

f <- system.file("external/test.grd",package="raster")
r <- raster(f)

revMagma <- rasterTheme(region = rev(magma(10)))
levelplot(r,par.settings = revMagma)

revMagma