将levelplot colorkey标签移近colorkey

时间:2017-09-28 21:37:03

标签: r maps raster levelplot rastervis

如何将colorkey lables移近colorkey?颜色中断的标签距离颜色键太远。我希望他们非常接近colorkey。有什么想法吗?

library(raster)
library(rasterVis)
library(colorRamps)

set.seed(100)
ras <- raster(ncol=100, nrow=100)
ras1 <- setValues(ras, (1:ncell(ras))/100 + rnorm(ncell(ras)) - 50)

s=stack(ras1,ras1,ras1,ras1)

color_levels=14 #the number of colors to use
max_abolute_value=max(abs(c(cellStats(s, min), cellStats(s, max)))) #what is the maximum absolute value of raster?
    color_sequence=unique(round(seq(-max_abolute_value,max_abolute_value,length.out=color_levels+1),0))

myColorkey <- list(at=color_sequence,space = "bottom",tck = c(0,0), ## where the colors change 
                       labels=list(axis.line = list(col = NA),at=color_sequence,rot=0,cex=0.9,font=6,
                                   fontface=1),height=1,width=1.4)

col1 <- colorRampPalette(c("darkred", "red3","red", "gray96", 
                           "lightskyblue", "royalblue3", "darkblue"))

levelplot(s,contour=F, layout=c(4, 1),  col.regions = col1,colorkey=myColorkey,margin=FALSE,xlab=NULL,ylab=NULL,par.strip.text=list(cex=0))

2 个答案:

答案 0 :(得分:1)

原因是在layout参数中您有4 column3 rows。减少rows的数量可以解决问题。

levelplot(s,contour=F, layout=c(4, 1),  col.regions = col1,colorkey=myColorkey,margin=FALSE,xlab=NULL,ylab=NULL,par.strip.text=list(cex=0))

答案 1 :(得分:1)

您可以在调用3.25函数后使用grid.edit缩短距离并更改levelplot参数:

y