5

我正在使用 R 包 Tmap 来创建有时为正有时为负的变量的等值线。默认的发散调色板以绿色显示正值,以红色显示负值。我想反转这一点,以红色显示正值,以绿色显示负值,以符合我使用顺序调色板的其他等值线。我浏览了手册并尝试了各种方法,但我似乎无法让它工作。这是一个可重现的例子。

library(tmap)
data(Europe)
Europe$outcome = c(scale(1:nrow(Europe)))
tm_shape(Europe) +
    tm_polygons(col="outcome",
                style="cont")

我试过“auto.palette.mapping=F”、“fill.palette="-div"”、“fill.palette="YlGnBu"”等,但我似乎无法改变任何东西。

4

1 回答 1

9

您应该指定布局:

library(tmap)
data(Europe)
Europe$outcome = c(scale(1:nrow(Europe)))
tm_shape(Europe) +
  tm_polygons(col = "outcome",
              style ="cont", palette = "seq") +
  tm_layout(aes.palette = list(seq = "-RdYlGn"))

在此处输入图像描述

tm_shape(Europe) +
  tm_polygons(col = "outcome",
              style ="cont", palette = "seq") +
  tm_layout(aes.palette = list(seq = "RdYlGn"))

在此处输入图像描述

根据 user3386170 在较新版本的评论中的建议进行编辑tmap(我在 2.3-2 上进行了测试,不确定发布原始答案时是否可能)以下简化可用:

tm_shape(Europe) +
  tm_polygons(col = "outcome",
              style ="cont", palette = "-RdYlGn")

tm_shape(Europe) +
  tm_polygons(col = "outcome",
              style ="cont", palette = "RdYlGn")
于 2018-06-20T19:29:13.063 回答