Ich bin eine Route und Punkte auf ggmap Plotten und ich brauche eine Legende hinzufügen, um die Namen aufzulisten, die die Punkte dhHinzufügen einer Legende/Texttabelle zu einer ggmap mit mehreren Schichten
1 Bill Harris vertreten, 2 Anne Jones etc ..
Ich habe Beispieldaten vorbereitet.
structure(list(business.names = structure(c(8L, 9L, 5L, 6L, 7L,
1L, 4L, 3L, 2L, 10L), .Label = c("Bill Harris", "Anne Jones",
"Sue Perkins", "Morris Jones", "Bert Harris", "Bob Jones",
"Mike Taylor", "Paul Jones", "John Roberts",
"Fred Morris"), class = "factor"), X1 = structure(c(7L,
8L, 10L, 9L, 3L, 2L, 1L, 4L, 5L, 6L), .Label = c("53.186744",
"53.1884117", "53.1894004", "53.189836", "53.1902965", "53.1905138631287",
"53.1912196", "53.1916771", "53.193418", "53.1934748"), class = "factor"),
X2 = structure(c(7L, 3L, 2L, 1L, 5L, 4L, 6L, 10L, 9L, 8L), .Label = c("-2.881248",
"-2.8814698", "-2.8846099", "-2.88802", "-2.8886692", "-2.890165",
"-2.8902453", "-2.89043889005541", "-2.8919373", "-2.893896"
), class = "factor")), .Names = c("business.names", "X1",
"X2"), row.names = c(10L, 9L, 8L, 1L, 7L, 6L, 3L, 4L, 5L, 2L), class = "data.frame")
Hier ist mein Code bis heute. Beachten Sie, dass der Parameter Farbe & für den geom_path und die geom.route außerhalb der AES-Funktion liegt. Ich muss die Größe oder Farbe nicht basierend auf den Daten anpassen. Wenn ich Größe & Farbe in die AES-Funktion platziere, bekomme ich eine Legende, aber das ist nicht was ich will. Es verwendet die Punktdaten und nicht den Geschäftsnamen.
Ich bin nicht einmal sicher, ob die Legende der beste Weg zu gehen ist. Ich brauche nur die Daten, die auf dem Diagramm in einer einfachen Tabelle angezeigt werden.
create.map<-function(lst){
require("ggmap")
require("qmap")
way.points<-data.frame(lapply(lst[,1:3], as.character), stringsAsFactors=FALSE)
rte.from <- apply(way.points[-nrow(way.points),2:3],1,paste,collapse=",")
rte.to <- apply(way.points[-1,2:3],1,paste,collapse=",")
rte <- do.call(rbind,
mapply(route, rte.from, rte.to, SIMPLIFY=FALSE,
MoreArgs=list(mode="walking",structure="legs")))
map.centre<-c(mean(as.numeric(way.points$X2)),mean(as.numeric(way.points$X1)))
coords <- rbind(as.matrix(rte[,7:8]),as.matrix(rte[nrow(rte),9:10]))
coords <- as.data.frame(coords)
ggm <- qmap(location=map.centre,zoom = 15, maptype = "road", legend="topright")
ggm +
geom_path(data=coords,aes(x=startLon,y=startLat),color="blue",size=2)+
geom_point(data=way.points,aes(x=as.numeric(X2),y=as.numeric(X1)),
size=10,color="yellow")+
geom_text(data=way.points,
aes(x=as.numeric(X2),y=as.numeric(X1), label=seq_along(X1)))
}
Braucht es auf der Karte zu sein? – hrbrmstr