修改现有的R色Brewer调色板

修改现有的R色Brewer调色板,r,raster,r-raster,rastervis,R,Raster,R Raster,Rastervis,我想改变“棕绿色”的主题,使中间的140到160是灰色的。 可能吗 下面是一个火山数据集的示例 library(raster); library(rasterVis); library(RColorBrewer) 我们可以先准备一个调色板,然后将第三个替换为灰色,然后将其放入region参数 breaks <- c(100, 120, 140, 160, 180, 195) # manual breaks mapTheme <- rasterTheme(region=brewer.

我想改变“棕绿色”的主题,使中间的140到160是灰色的。 可能吗

下面是一个火山数据集的示例

library(raster); library(rasterVis); library(RColorBrewer)

我们可以先准备一个调色板,然后将第三个替换为灰色,然后将其放入region参数

breaks <- c(100, 120, 140, 160, 180, 195) # manual breaks
mapTheme <- rasterTheme(region=brewer.pal(6,"BrBG"))
levelplot(volcano, at=breaks, par.settings=mapTheme)

我们可以先准备一个调色板,然后将第三个替换为灰色,然后将其放入region参数

breaks <- c(100, 120, 140, 160, 180, 195) # manual breaks
mapTheme <- rasterTheme(region=brewer.pal(6,"BrBG"))
levelplot(volcano, at=breaks, par.settings=mapTheme)

这可能与此无关,但通过手动定义中断,您将丢失获得白色补丁的最小值附近的部分数据。以下是解决此问题的方法:

library(raster)
library(rasterVis)
library(RColorBrewer)

breaks <- c(100, 120, 140, 160, 180, 195) # manual breaks
pal <- brewer.pal(6,"BrBG")
pal[3] <- "grey"
mapTheme <- rasterTheme(region = pal)
levelplot(volcano, at=breaks, par.settings=mapTheme)

这可能与此无关,但通过手动定义中断,您将丢失获得白色补丁的最小值附近的部分数据。以下是解决此问题的方法:

library(raster)
library(rasterVis)
library(RColorBrewer)

breaks <- c(100, 120, 140, 160, 180, 195) # manual breaks
pal <- brewer.pal(6,"BrBG")
pal[3] <- "grey"
mapTheme <- rasterTheme(region = pal)
levelplot(volcano, at=breaks, par.settings=mapTheme)

谢谢是的,这只是一个简单的例子,但是你的代码仍然很有用。谢谢。是的,这只是一个简单的例子,但您的代码仍然很有用。