如何在R Tmap中反转分散的颜色调色板?

6

我正在使用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""等方法,但好像没有改变任何东西。

1个回答

10

您应该指定布局:

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

enter image description here

编辑 根据用户3386170在评论中的建议,在新版本的 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")

1
我在那里犯了一个打字错误,多输入了一个 R,实际应该是 palette="-RdYlGn"。因此整个语句应为tm_polygons(col="outcome", style="cont", palette="-RdYlGn") - user3386170

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接