【问题标题】:How to reverse the diverging color palette in R Tmap?如何反转 R Tmap 中发散的调色板?
【发布时间】:2018-11-29 23:18:51
【问题描述】:

我正在使用 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"" 等,但我似乎无法更改任何内容。

【问题讨论】:

    标签: r maps gis data-visualization tmap


    【解决方案1】:

    你应该指定布局:

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

    EDIT 正如 user3386170 在 tmap 较新版本的 cmets 中建议的那样(我在 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")
    

    【讨论】:

    • 我在那里打错了一个额外的 R,应该是 palette="-RdYlGn"。所以整个事情都是tm_polygons(col = "outcome", style ="cont", palette = "-RdYlGn")
    猜你喜欢
    • 2014-07-13
    • 2020-12-13
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    相关资源
    最近更新 更多