построение ggmap с точками geom (lat_long) с аннотациями от 1 до 19. Данные о баллах находятся в CSV-файле.

Я рисую с ggmap и ggplot2, используя geom_point. Я также хочу добавить текст аннотации (например, от 1 до 19) рядом с точками.

Вот мой код:

setwd("../Documents/MAPS")
library(ggplot2)
library(mapproj)
library(maps)
library(maptools)
library(rgdal)
library(ggmap)
library(sp)

bdl_sites <- get_map(location  =c(lon = 34.832, lat = 0.852), colour = "colour",
                      source = "google", maptype = "terrain", zoom = 9)
save(bdl_sites, file = "bdl_sites.rda")
load(file = "bdl_sites.rda")
BDL_Org_Data.csv <- read.csv("BDL_Org_Data.csv")
BDL_Org_DataF.csv <- fortify(BDL_Org_Data.csv, region = "ORGANIZATION_ID")

ggmap(bdl_sites) +  
geom_point(data = BDL_Org_DataF.csv, aes(x = long, y = lat),
           colour = "red", size = 2, alpha = .5) +
annotate("text", x=BDL_Org_DataF.csv$long, y=BDL_Org_DataF.csv$lat,
         label = BDL_Org_DataF.csv$ORGANIZATION_ID, size = 2, position = "right") + 
labs(title = "MAP FOR BDL PROJECT SITES") +
labs(x = "Longitude", y = "Latitude")

Помогите показать в легенде номера и названия точек!

Спасибо BattleHamster за улучшение моего вопроса. Это мой первый пост на этом сайте, но я многому научился на этом сайте. На самом деле я хочу отображать geom_Points в ggmap с аннотациями 1,2,3, вплоть до 19. Затем в легенде отображается «1» и соответствующее имя «Kitale», как показано ниже:

Legend: Point Names
1=Kitale
2=Chereng'any
3=Kaplamai
4=Ndalu
5=Tongaren
.
.
.
19=Kiminini

The Points data is in a CSV file in the format below
ORGANIZATION_ID     lat         long        Name_of_Organization
1                   0.988597    35.124259   Kitale
2                   0.981345    35.219947   Chereng'any 
3                   1.019304    35.040037   Kaplamai
4                   0.840672    34.994145   Ndalu 
5                   0.78183     34.965753   Tongaren

person Wachiye Emmanuel    schedule 07.12.2014    source источник


Ответы (1)


Вот один подход. Я создал новую широту для текстовой аннотации, используя transform в базе R. Я использовал geom_text, чтобы добавить нужные вам метки. Я использовал scale_colour_discrete, чтобы изменить название легенды.

library(ggmap)
library(ggplot2)

### Get a map
map <- get_map(location=c(lon=34.832, lat=0.852), color="color",
               source="google", maptype="terrain", zoom=9)

### Create new lat for annotation position             
mydf2 <- transform(mydf,lat2 = lat + 0.05)


ggmap(map) +
geom_point(data = mydf2, aes(x = long, y = lat, color = Name_of_Organization)) +
geom_text(data = mydf2, aes(x = long, y = lat2, label = ORGANIZATION_ID), size = 3) +
scale_colour_discrete(name  = "Name of Organization")

введите здесь описание изображения

ДАННЫЕ

mydf <- structure(list(ORGANIZATION_ID = 1:5, lat = c(0.988597, 0.981345, 
1.019304, 0.840672, 0.78183), long = c(35.124259, 35.219947, 
35.040037, 34.994145, 34.965753), Name_of_Organization = structure(c(3L, 
1L, 2L, 4L, 5L), .Label = c("2 = Chereng'any", "3 = Kaplamai", "1 = Kitale", 
"4 = Ndalu", "5 = Tongaren"), class = "factor")), .Names = c("ORGANIZATION_ID", 
"lat", "long", "Name_of_Organization"), class = "data.frame", row.names = c(NA, 
-5L))

#  ORGANIZATION_ID      lat     long Name_of_Organization
#1               1 0.988597 35.12426           1 = Kitale
#2               2 0.981345 35.21995      2 = Chereng'any
#3               3 1.019304 35.04004         3 = Kaplamai
#4               4 0.840672 34.99415            4 = Ndalu
#5               5 0.781830 34.96575         5 = Tongaren
person jazzurro    schedule 09.12.2014
comment
Я ценю Джаззурро за то, что он попробовал это. Однако он напечатал карту с цветовым ключом. Не могли бы вы знать, как сделать такую ​​же легенду с цифрами, т.е. ORGANIZATION_ID, как показано ниже: Легенда: названия точек 1=Китале 2=Черенг'ани 3=Капламаи 4=Ндалу 5=Тонгарен - person Wachiye Emmanuel; 10.12.2014
comment
@WachiyeEmmanuel Я обновил свое предложение. Если вы хотите изменить порядок элементов легенды, вы тоже можете это сделать. На данный момент порядок в алфавитном порядке. - person jazzurro; 10.12.2014