在 tmap 中为不同的 类 R 指定颜色

Specifying colors in tmap for different classes R

我正在尝试创建一个显示不同值的地图。我试图设置中断,但不知何故,不同的 类 不显示不同的颜色 (click here for the map)。几个 类 的输出图总是具有相同的颜色。

tm_shape(abm_population)+ tm_fill("diff_rel_growth",breaks=c(min(abm_population$diff_rel_growth,na.rm = T),-0.5,-0.3,-0.1,0.1,0.3,0.5,max(abm_population$diff_rel_growth,na.rm = T)))

我错过了什么或做错了什么?

很难给出完整的答案,因为即使您提供了代码,也很难重现您的问题。

不过,我的感觉是您的代码运行正常。您的问题似乎与您定义 类 的方式有关。请注意,您有一个范围从 0.50 到 61.93 的巨大类别(该类别似乎是具有更多多边形的类别)。

第一步是仔细检查您的数据。然后,看看您是否可以定义一组不同的休息时间。

最后,你还可以控制颜色:

nc = st_read(system.file("shape/nc.shp", package="sf"))
Breaks <- c(0, 2000, 4000, 6000, 31000)
Labels <- c("0 - 2000", "2000 - 4000", "4000 - 6000", ">6000")
MyPalette <- c("#f2f0f7", "#cbc9e2", "#9e9ac8", "#6a51a3")

tm_shape(nc) + tm_polygons(col="BIR79", title = "Births 1979 - 84", 
                           palette = MyPalette,
                           breaks = Breaks, labels = Labels) + 
tm_layout(legend.position = c(0.01,0.65),
          scale=0.65,
          legend.frame = T,
          bg.color = "lightblue") + 
tm_compass(size = 5, type = "rose", lwd = 3) + 
tm_scale_bar(breaks = c(0,50,100,150,200),size = 1, position = c(0.06,0),
             lwd = 3)