假设我有一些空间数据,我想使用sp包中的spplot
函数将其绘制出来:
library('sp')
library('lattice')
demo(meuse, ask = FALSE, echo = FALSE)
spplot(meuse.grid[,'dist'])
仅更改一个图即可轻松更改主题,例如col.regions:
spplot(meuse.grid[,'dist'], col.regions=rainbow(100))
但是,如果我想更改所有绘图的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的默认主题?
最佳答案
请查看以下代码,以便为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”对象(例如
library(mapview)
spplot(poppendorf, "B007n")