2016-06-21 5 views
2

Я хочу изменить цвет океанов (вне границ шейп-файла). Я могу закрепить растр и изменить цвет фона, но здесь я хочу сделать это с добавленным шейп-файлом.Измените цвет фона добавленного файла формы на уровне уровня rasterVis

library(raster) 
library(rasterVis) 
library(maps) 
library(maptools) 
library(mapdata) 

r <- raster(nrow=361, ncol=576, ymn=-90, ymx=90) 
values(r) <- 1:ncell(r) 
data(wrld_simpl, package = "maptools") 
levelplot(r)+ layer(sp.polygons(wrld_simpl, lwd=0.1, col='gray')) 

enter image description here

ответ

4

Во-первых, маскирует растр с объектом в SpatialPolygons. Клетки, не охваченные , установлены в NA.

land <- mask(r, wrld_simpl) 

Теперь измените цвет фона (используется для ячеек NA):

catTheme <- rasterTheme(panel.background = list(col='lightskyblue1')) 

И, наконец, показать результат:

levelplot(land, par.settings = catTheme) + 
    layer(sp.polygons(wrld_simpl, 
         lwd=0.1, col='gray')) 

levelplot

+0

Спасибо, но это он заполняет многоугольники, я хочу изменить океанский цвет. –

+0

Извините, я неправильно понял ваш вопрос. Я изменю свой ответ. –

+0

Спасибо, есть еще проблема и ее, если у вас пропали ценности на земле, они будут иметь тот же цвет, что и океан. Я надеялся найти способ изменить цвета за пределами границы файла формы. –

 Смежные вопросы

  • Нет связанных вопросов^_^