2017-05-10 8 views
0

thisのような複数の接続をマップしたいが、はるかに正確なレベル(国)にマップしたいと思う。そうするために、私はqmapパッケージとリンクで使用されているパッケージを組み合わせたいと思いますが、うまくいきません。誰もがsomのアイデアを得た?国の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

エラーは、geom_polygon(「data=map」)のデータ引数に型ggplotのオブジェクトを渡していることを示しています。しかし、geom_polygonは通常型data.frameのオブジェクトを期待しています。?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上に今それを使用していますを実行してください!。 paramを変更する方法を知っているその線が少し湾曲して見えるようにしますか?そして、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

関連する問題