R ggplot2-绘图和图例中的编号点

R ggplot2-绘图和图例中的编号点,r,ggplot2,R,Ggplot2,我正在尝试创建一个带有ggplot的地图,其中使用地图上的一个点和一个数字指示站点,并且该编号方案保留在图例中。所以我希望第一个站点被标记为一个点,中间有数字1,以此类推。下面是我的代码: library(tidyverse) # download site data dod <- read_csv('https://raw.githubusercontent.com/jaymwin/fcpp_GIS/master/data/DoD_sites_latlong.csv') %>%

我正在尝试创建一个带有ggplot的地图,其中使用地图上的一个点和一个数字指示站点,并且该编号方案保留在图例中。所以我希望第一个站点被标记为一个点,中间有数字1,以此类推。下面是我的代码:

library(tidyverse)

# download site data

dod <- read_csv('https://raw.githubusercontent.com/jaymwin/fcpp_GIS/master/data/DoD_sites_latlong.csv') %>%
  filter(site != 'Fort Wainwright') %>%
  mutate(
    num = row_number() # my way of numbering the sites
  )
dod

# download state outlines

states <- map_data('state')

# plot them

ggplot() +
  geom_polygon(data = states, aes(long, lat, group = group), fill = 'grey95', color = 'darkgrey') +
  geom_point(data = dod, aes(x = lon, y = lat, color = site), size = 4) +
  geom_text(data = dod, aes(label = num, x = lon, y = lat), 
            size = 2, color = 'white', fontface = 'bold') +
  scale_color_manual(values = c(rep('tomato', 12)), name = 'Site') +
  labs(
    x = 'Longitude',
    y = 'Latitude'
  ) +
  theme_minimal()
库(tidyverse)
#下载站点数据
国防部%
过滤器(站点!=“Fort Wainwright”)%>%
变异(
num=行数()#我对站点进行编号的方式
)
国防部
#下载州大纲

说明这似乎需要做很多工作,但应该做到这一点:如果您使用字母而不是数字,这将更容易,因为
缩放形状\u手册
接受单字符字母/数字作为符号,但您将被限制为9个数字符号(如果从0开始计数,则为10个),而字母最多允许26个。如果你真的想要数字,上面的Grob黑客(根据链接)是另一种方法。您可能需要检查图例中的行号和站点顺序之间的映射。我觉得这两个不太一样。