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

问题描述 投票:0回答:1

我正试图创建一个显示分歧值的地图。我试着设置分界线,但不知为何不同的类没有显示不同的颜色(点击这里查看地图). 输出图总是对几个类有相同的颜色。

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

我缺少什么或做错了什么?

r tmap
1个回答
0
投票

考虑到即使你提供了代码,也很难重现你的问题,所以很难给出一个完整的答案。

尽管如此,我的感觉是你的代码工作正常。似乎你的问题更多的是与你定义类的方式有关。请注意,你有一个巨大的类别,范围从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)
© www.soinside.com 2019 - 2024. All rights reserved.