Я делаю карту, используя ggplot2
, и я хотел бы разместить некоторые точечные надписи (на полях карты или, что может быть полем) карты с некоторым текстом, описывающим точку. Например, следующий код выдает:
require(tidyverse)
# UK Base polygon
UK <- map_data(map = "world", region = "UK",interior = T)
# Cities to plot as geom_points
UK_cities <- world.cities %>%
filter(country.etc == 'UK')
# Filter for the ones of interest
UK_cities <- UK_cities %>%
filter(name %in% c('London',
'Edinburgh',
'Glasgow',
'Birmingham',
'Edinburgh'))
# plot with ggplot
ggplot(data = UK, aes(x = long, y = lat, group = group)) +
geom_polygon(aes(x = long, y = lat, group = group),fill = 'grey80',
color = 'grey80') +
geom_point(data = UK_cities,aes(long, lat,group = name))+
geom_text(data = UK_cities,
aes(long, lat,label = name,group = name),
color = 'black',
size = 3)+
coord_map()+
theme_void()
Который производит:
![enter image description here](https://i.stack.imgur.com/AH5IZ.png)
Мой вопрос таков: может ли geom_label
«нарисовать» линию к заданной точке и располагаться в другом месте на карте / графике? Я бы хотел, чтобы «Лондон» был в стороне с небольшим скоплением информации, то есть с населением и т. Д. Есть ли способ сделать это?