2016-04-25 80 views
1

使用levelplot/spplot我們可以使用at定義顏色區域範圍(最小,最大,間隔)。我的問題是:如何使用紅色的值大於29.5?如何設置步進顏色區域?

這是我的樣本NCDF文件 - >download here

library (raster) 
r <- brick('bali.nc', varname='TEMPERATURE', level=1) 

library(rasterVis) 
jet <- colorRampPalette(
    c('#00007F', 'blue', '#007FFF', 'cyan', 'yellow', '#FF7F00', 'red', '#7F0000') 
) 

# First Figure - without at 
levelplot(r, layer=1, margin=F, contour=F, col.regions=jet) 

# Second Figure - with at 
levelplot(r, layer=1, margin=F, contour=F, col.regions=jet, at=seq(27.5, 29.5, 0.1)) 

Figure A Figure B

回答

1

你必須包括在中斷值的向量的最大值,並相應地確定調色板:

rMax <- cellStats(r, max) 
myAt <- c(seq(27.5, 29.5, 0.1), rMax[1]) 
myPal <- jet(length(myAt) - 1) 

levelplot(r, layer = 1, margin = FALSE, 
      at = myAt, 
      par.settings = rasterTheme(myPal)) 

levelplot