如何在地图上将身份证号码放在圆圈中

How to put ID numbers in circles on a map

我正在尝试制作一张包含 26 个不同类别站点的地图。我想用不同颜色的圆圈显示每个类别的网站,并在这个圆圈中添加一个数字。然后,此数字将与包含站点的列表相关。

我对 ggmap 熟悉到创建以下地图的地步,但我不知道如何在圆圈中添加数字。我已经查看了 ggmap https://whosebug.com/questions/tagged/ggmap?sort=frequent 的常见问题解答,但我没有在这里找到答案。

example_sites <- structure(list(`Site No` = c("1", "2", "3", "4"), 
     latitude = c(46.181608,46.171386, 46.179887, 46.181169), 
     longitude = c(8.78852, 8.803413, 8.767505, 8.842291), 
     `Site group` = c("1", "2", "2", "1")), 
     .Names = c("Site No", "latitude", "longitude", "Site group"), 
     class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -4L))

map <- get_map(location ='Locarno, Switzerland', zoom = 13, 
    maptype = "terrain", color = "bw", source = 'google')

p <- ggmap(map)
plot(p)
p + geom_point(data = example_sites, aes(x = example_sites$longitude, y = example_sites$latitude, colour = example_sites$`Site group`), size = 5)

这给出了下图:

你知道是否可以做我想做的事(不同颜色的圆圈和数字),如果可以,怎么做? 如果 ggmap 无法做到这一点,我将感谢您提供其他软件包的提示。

如果我正确理解你的问题,你只需要将 geom_text() 添加到你的绘图代码中。

p+
  geom_point(data=example_sites, 
             aes(x=longitude, y=latitude, colour=`Site group`), size=5) +
  geom_text(data=example_sites,
            aes(x=longitude, y=latitude, label = `Site No`))

旁注:如果您在 aes 调用中引用变量,则不需要 dataset$ 组件。