0

我有一个带有城市(CitiesPoints)的点形状文件,以及一个为其中一些城市分配多个库的数据框(df;数据是虚构的)。我还有一个多边形 shapefile 作为背景。

我加入了这些文件以创建一个地图,其中为每个拥有图书馆的城市生成一个点,点的大小取决于它拥有的图书馆数量。

df$CityCode <- as.factor(df$CityCode)
Joint <- CitiesPoints %>% 
  left_join(df, by=c("link"="CityCode"))
tmap_mode("view")
tm_shape(Background) +
tm_borders() +
tm_shape(Joint) + tm_symbols(id = "localidad",
                              size = "BIBLIO",
                              col = "brown1")

但是,当我将鼠标悬停在这些点上时,显示的城市名称不正确。显然,形状文件中的顶行(包括那些没有库的,NA)是用于分配标签的行。

例子

这一点的正确标签应该是“Rafaela”。

您可以下载我在这里使用的文件:文件

我非常感谢您的帮助!

4

1 回答 1

0

我找到了修复它的方法。我创建了一个新的 shapefile,仅包含与拥有图书馆的城市相对应的行。

Joint$BIBLIO[is.na(Joint$BIBLIO)] <- 0
JOINT2 = filter(Joint,BIBLIO>0)

使用这个新的 shapefile,显示的自动标签现在是正确的。

于 2020-05-06T12:14:44.000 回答