【问题标题】:Change the background color of the added shape file in rasterVis levelplot更改 rasterVis levelplot 中添加的形状文件的背景颜色
【发布时间】:2016-10-23 10:00:33
【问题描述】:

我想更改海洋颜色(在 shapefile 边界之外)。我可以剪裁光栅并更改背景颜色,但在这里我想使用添加的 shapefile 来做到这一点。

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'))

【问题讨论】:

    标签: r plot raster lattice r-raster


    【解决方案1】:

    首先,使用 SpatialPolygons 对象遮罩 Raster。未覆盖的单元格 由它设置为 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'))
    

    【讨论】:

    • 谢谢,但是这样它会填充多边形,我想改变海洋的颜色。
    • 对不起,我误解了你的问题。我会修改我的答案。
    • 谢谢,仍然存在一个问题,如果您在陆地上缺失值,它们将具有与海洋相同的颜色。我希望找到一种方法来仅更改形状文件边界之外的颜色。
    • 一种解决方案是为土地中的那些缺失值分配一个极值。
    • 或另一种选择是使用海洋形状文件而不是陆地。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2013-02-19
    • 1970-01-01
    • 2019-11-20
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多