我正在制作一张洪水区地图,最终会有我不想要的额外线条。这是代码:
tmap_mode("view")
tm_shape(floodplot) +
tm_polygons(
col = "Risk Level",
alpha = 0.9,
palette = colors)
) +
tm_layout(
title = "What is the risk of flooding in Robeson County?",
legend.position = c("right", "top"),
legend.text.size = 12
) +
tm_style(style = "classic")
这是地图:在这里输入图像描述
水平线和垂直线是人口普查区,但我不希望它们出现在这张地图上。floodplot数据有一个几何体列以及一个SHAPE_Leng和SHAPE_Area列,我认为这是导致问题的原因。
我尝试在tm_lines中使用一些参数,但没有成功。实际上,多边形层后的任何一条线都不会改变地图,但如果我能去掉人口普查区的线,我就可以了。
作为临时解决方案,我设置lwd=0,但这当然会删除所有行。给我看数据的人说了一些关于溶解多边形的内容,但我不知道该怎么做。
谢谢!
您应该尝试将函数tm_grid()
(请参阅文档(添加到映射代码中并进行操作。如果你不共享数据,很难找到解决方案,但可能会添加:
+ tm_grid(alpha = 1)
或:
+ tm_grid(lines = FALSE)
应该起作用。
至于溶解:虽然在不查看数据的情况下很难100%确定,但我认为这应该可以通过dplyr::summarise()
调用实现;类似的东西
library(dplyr)
library(sf)
floodplot <- floodplot %>%
group_by(`Risk Level`) %>%
summarise()
你会发现这里解释的技术:https://www.jla-data.net/eng/merging-geometry-of-sf-objects-in-r/