Я хотел бы создать текстовый слой метки на карте многоугольника. Это очень похоже запрос из двух ниже:geom_text - поиск центроидов и добавление текста в многоугольник с использованием ggplot2 -
Labeling center of map polygons in R ggplot
ggplot centered names on a map
Мой dataframe выглядит следующим образом, (я упрощена долго и лат для ясности - они являются координатами)
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())
Большое спасибо
Пожалуйста, сделайте ваш пример [_reproducible_] (http://stackoverflow.com/questions/5963269). – Axeman
спасибо за ссылку, отредактируйте - если будет сказано, будет сложно добавить некоторые координаты, так как у меня много полигонов, поэтому наблюдения в моем df. – Chrisftw
'координат()' даст вам центроиды полигонов, если у вас есть правильный 'sp' объект. –