2016-01-11 7 views
2

Скажем, у меня есть некоторые пространственные данные, и я хочу, чтобы построить его с помощью spplot функции из зр пакет:Как установить тему по умолчанию для 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