2017-05-10 14 views
0

this과 같은 여러 연결을 매핑하고 싶지만보다 정확한 수준 (국가)으로 매핑하고 싶습니다. 이를 위해 qmap 패키지와 링크에 사용 된 패키지를 결합하고 싶지만 제대로 작동하지 않습니다. 누구든지 아이디어가있어?국가의 qmap에 여러 줄 그리기

는 이미이 코드를 시도하고 있지만, 그것은뿐만 아니라 작동하지 않습니다

map = qmap(location='Berlin', zoom = 5) 
berlin = c(geom_polygon(aes(long,lat,group=group), size = 0.1, colour= "#090D2A", 
       fill="#090D2A", alpha=0.8, data=map)) 

나는 다음과 같은 오류 얻을 : Error: ggplot2 doesn't know how to deal with data of class gg/ggplot

사람이 왜 어떤 아이디어를 가지고 있습니까? :-(

답변

0

오류는 ("data=map은"). 그러나, geom_polygon은 일반적으로 유형 data.frame의 객체를 기대하고 당신이 geom_polygon의 데이터 인수 형 ggplot의 객체를 전달하는 있음을 알려줍니다. ?geom_polygon를 참조하십시오.

당신은 선발로이 예제를 취할 수 : 답장을 보내

library(ggmap) 
library(ggplot2) 
library(geosphere) 
map <- qmap(location='Berlin', zoom = 5) 
n <- 50L 
m <- matrix(c(
10,53,20,53, 
3,47,23,55),ncol=4,byrow=T) 
m <- gcIntermediate(m[,1:2],m[,3:4], n = n) 
m <- as.data.frame(cbind(do.call(rbind, m), id=rep(seq_along(m), each = n))) 
map + 
    theme_minimal() + 
    geom_path(
    aes(lon,lat,group=id), 
    data=m, 
    arrow = arrow(ends="both")) 

enter image description here

+0

감사합니다, 작동 라인 지금 곡선 아닌 내가 줌 (13)에 지금 사용하고하니!. 매개 변수를 변경하는 방법을 알아라. eters 그래서 선이 약간 "곡선"으로 보입니까? 그리고 X 축과 Y 축의 위도와 경도 매개 변수를 제거 할 수 있습니까? – socken90

+0

'geom_curve'를 데카르트 좌표로 사용할 수 있습니다 : map + geom_curve (aes (x = lon1, y = lat1, xend = lon2, yend = lat2), data.frame (lon1 = 13.375, lat1 = 52.5, lon2 = 13.425 , lat2 = 52.54)) + coord_cartesian() + theme (aspect.ratio = 1)'을 사용합니다. 그 이유 때문에 라인이 구부러져 있지 않습니다. – lukeA