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

标签 r r-raster 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()

Basic raster plot

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

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

不成功的尝试:

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

fail 1

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

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

fail 2

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

enter image description here

最佳答案

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

这就是我让它工作的方式:

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

enter image description here

关于r - 如何使用 tmap 为栅格指定单一颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56767683/

相关文章:

r - 使用命令行部署 Shiny 的应用程序时出错

r - 使用光栅化函数光栅化小多边形的问题

r - 如何在 R 中正确投影和绘制光栅

r - 使用 tmap 在形状上弹出

r - 带有因子变量输出的 ifelse 语句

R:ggplot2 图例未显示

光栅 : Calculation on RasterStack only if not NA in other RasterLayer

mysql - Talend tmaps、mysqlconnection 和 tuniqrow 问题

r - Tmap:无法创建国家级学区 map

r - ggplot : draw segment that goes off the chart's limits