2016-01-11 103 views
2

比方說,我有一些空間數據,我想用spplot功能從SP繪製它包:如何設置spplot的默認主題?

library('sp') 
library('lattice') 
demo(meuse, ask = FALSE, echo = FALSE) 
spplot(meuse.grid[,'dist']) 

enter image description here

可以很容易地更改主題,例如col.regions,只有一個情節:

spplot(meuse.grid[,'dist'], col.regions=rainbow(100)) 

enter image description here

但是,如果我想更改所有地塊的col.regions,該怎麼辦?我試過幾個功能,例如:

trellis.par.set(sp.theme(set = FALSE, regions = list(col = rainbow(100)))) #1 
trellis.par.set(regions = list(col = rainbow(100))) #2 
lattice.options(default.theme = sp.theme(set = FALSE, regions = list(col = rainbow(100)))) #3 

但似乎沒有任何工作。所以我的問題是 - 如何正確設置spplot的默認主題?

回答

4

查看下面的代碼,以手動重新定義spplot的默認配色方案(另請參閱?spplot,其中set_col_regions進一步描述)。

## re-define default color scheme 
old_theme <- get_col_regions() 
new_theme <- set_col_regions(rainbow(100)) 

## sample data 
data("meuse.grid") 
coordinates(meuse.grid) <- ~x+y 
proj4string(meuse.grid) <- CRS("+init=epsg:28992") 
gridded(meuse.grid) <- TRUE 

## display data with c 
spplot(meuse.grid, zcol = "dist")     

spplot

定製配色方案仍然存在對於任何隨後創建 'spplot' 對象,例如

library(mapview) 
spplot(poppendorf, "B007n") 

mapview