【问题标题】:base plot NA values in black color in raster map in RR中栅格地图中黑色的基本图NA值
【发布时间】:2020-06-27 16:23:44
【问题描述】:

我有一个光栅化的 S4 对象,它是通过在数据集上使用 rasterize 函数创建的。已放入其中的数据集具有一些 NA 值。在 R 中使用基本绘图功能时,我想用黑色描绘这些 NA 单元格。

尝试了以下代码:

library(RColorBrewer)

my.colors = colorRampPalette(rev(brewer.pal(9, "RdBu")))

plot(rasterized object, col= ifelse(is.na(rasterized object@data@values),"black", my.colors(255)), box=F, add=F)

# col(ifelse) 的灵感来自 Plot conditional color with NA data

这不起作用,许多具有实际值的网格单元被描绘成黑色。

没有错误消息。

如果我想使用 R 的基本绘图语法而不是 ggplot,可以改变什么?

【问题讨论】:

    标签: r plot colors raster na


    【解决方案1】:

    我猜你正在使用 raster 包,并且光栅化的 S4 对象是 RasterLayer

    如果是这样,光栅包(版本 3.4.5)的plot 函数有一个colNA 参数。

    plot(r, col = my.colors(255), colNA = "black")
    

    这是一个可重现的例子:

    library(raster)
    library(RColorBrewer)
    r <- raster(nrows=10, ncols=10)
    r <- setValues(r, c(rep(NA, 10), 1:90)) 
    
    my.colors = colorRampPalette(rev(brewer.pal(9, "RdBu")))
    
    plot(r, col = my.colors(255), colNA = "black")
    
    

    【讨论】:

      猜你喜欢
      • 2015-06-06
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多