如何使用 tmap 为栅格指定单一颜色?

How to specify a single colour for rasters with tmap?

当光栅中只有一个值时,我想调整用 tmap 绘制的光栅的基本颜色。

这是一个非常简单的可重现示例:

library(raster)
library(tmap)
a <- raster(matrix(sample(c(1, NA), 10000, replace = TRUE, prob = c(0.01, 0.99)), nr = 100, nc = 100, ))

tm_shape(a) +
  tm_raster()

你可以看到默认的黄色是肉眼几乎看不到的。因此,在绘制只有几个像素的地图时,很难找到具有值的像素。

不幸的是,我尝试了多次都无法更改此颜色。我认为其他用户可能会遇到这个问题,因此如果这里出现一个简单的答案可能会很有帮助。

不成功的尝试:

tm_shape(a) +
  tm_raster(col = "black")

tm_shape(a) +
  tm_raster(palette = "RdBu")

注意:对于这个,我预计会出现红色或蓝色。不是灰色...我也尝试调整中点但没有任何改变。

tm_shape(a) +
  tm_raster() +
  tm_layout(aes.color= c(fill = "black"))

显然,当您指定 col= 时,它会以一种颜色为整个栅格着色。所以我猜你必须选择点所在的图层?然后按照文档中的说明向 palette= 提供参数。

我是这样工作的:

tm_shape(a) +
  tm_raster(col = "layer", palette = "black")