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

ありがとうございます、まだ問題があり、その土地に欠損値がある場合、海と同じ色になります。私は、形状ファイルの境界の外側だけの色を変更する方法を見つけることを望んでいました。 –

関連する問題