Я хочу создать текстовый слой надписи на многоугольной карте. Это очень похожий запрос из двух нижеприведенных:
Надписи центра карты полигоны в R ggplot
ggplot центрированные имена на карте
Мой фрейм данных выглядит следующим образом (я упростил long и lat для ясности - это координаты)
id long lat order hole piece group locid location
0 long1 lat1 1 false 1 0.1 1 TEXT I WANT
0 long2 lat2 2 false 1 0.1 1 TEXT I WANT
1 long3 lat3 3 false 1 1.1 2 TEXT I WANT2
1 long4 lat4 4 false 1 1.1 2 TEXT I WANT2
Это мой текущий код, он возвращает черную карту - я предполагаю, что есть текст для всех длинных и широтных координат. Я изо всех сил пытаюсь найти центроиды каждого многоугольника, чтобы я мог добавить текстовый слой только в соответствии с центром многоугольника.
testtext <- ggplot() +
geom_polygon(data = df, mapping = aes(x=long, y=lat, group = group, fill=location)) +
geom_text(data = df, mapping = aes(x=long, y=lat, group = group, label=location)) +
geom_path(color = "white") +
scale_fill_hue(l=40) +
coord_equal() +
theme(legend.position = "none", title = element_blank(), axis.text = element_blank())
Большое спасибо
coordinates()
даст вам центроиды многоугольников, если у вас есть правильныйsp
объект. - person Roman Luštrik   schedule 14.02.2017