打印光栅堆栈时,是否以R调暗颜色栏?

打印光栅堆栈时,是否以R调暗颜色栏?,r,colors,raster,tiff,colorbar,R,Colors,Raster,Tiff,Colorbar,我有一个光栅堆栈,我正试图通过spplot在R中绘制它: rasterstack class : RasterStack dimensions : 2803, 5303, 14864309, 3 (nrow, ncol, ncell, nlayers) resolution : 0.008333333, 0.008333333 (x, y) extent : 60.85, 105.0417, 15.95833, 39.31667 (xmin, xmax, ymin, y

我有一个光栅堆栈,我正试图通过spplot在R中绘制它:

rasterstack
class      : RasterStack 
dimensions : 2803, 5303, 14864309, 3  (nrow, ncol, ncell, nlayers)
resolution : 0.008333333, 0.008333333  (x, y)
extent     : 60.85, 105.0417, 15.95833, 39.31667  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
names      :   layer.1,   layer.2,   layer.3 
min values : -1.819715, -1.800774, -1.835778 
max values :    6.5533,    6.5533,    6.5533 
我想要一个从红色到蓝色的色阶,中间是白色。我通过以下代码实现了色阶:

devtools::source_gist('306e4b7e69c87b1826db')
plot2<-diverge0(rasterstack, ramp='RdBu')
devtools::source\u-gist('306e4b7e69c87b1826db')

plot2这里有一个解决方案,它使用
rasterVis
ggplot2
来获得所需的颜色比例
scale\u fill\u gradientn()
facet\u wrap()

库(光栅)
#>Lade nötiges Paket:sp
r1
#>层

cols这里有一个解决方案,它使用
rasterVis
ggplot2
来获得所需的色阶
scale\u fill\u gradientn()
facet\u wrap()

库(光栅)
#>Lade nötiges Paket:sp
r1
#>层
cols您的色阶(-1到7)实际上是正确的,例如-1的黑暗度对应于+1的黑暗度。这是发散尺度的一个重要方面。如果你想在中心保持零,你必须把它扩展到一个公共的绝对极值(-7到7)。
经过一番挖掘,我找到了这个更优雅的解决方案。零现在位于刻度的中心

库(光栅)
#>Lade nötiges Paket:sp
r1您的色阶(-1到7)实际上是正确的,例如-1的暗度对应于+1的暗度。这是发散尺度的一个重要方面。如果你想在中心保持零,你必须把它扩展到一个公共的绝对极值(-7到7)。
经过一番挖掘,我找到了这个更优雅的解决方案。零现在位于刻度的中心

库(光栅)
#>Lade nötiges Paket:sp

r1谢谢您的回答,我正在通过spplot绘制光栅堆栈,当我在spplot中绘制时,如何导入此配色方案?我在问题中陈述的实际光栅范围为-1到大约7。如何设置colorscale以零显示白色值?为了您的回答,我正在通过spplot绘制光栅堆栈,在spplot中绘制时如何导入此颜色方案?我在问题中陈述的实际光栅范围为-1到大约7。如何设置colorscale以零显示白色值?问题中所述的实际光栅范围为-1到大约7。如何设置colorscale以零显示白色值?问题中所述的实际光栅范围为-1到大约7。如何设置colorscale以零显示白色值?
library(raster)
r1 <- r2 <- r3 <- raster(nrow=10, ncol=10)
values(r1) <- runif(ncell(r1))
values(r2) <- runif(ncell(r2))
values(r3) <- runif(ncell(r3))
s <- stack(r1, r2, r3)