2017-06-01 6 views
0

私はカナダの地図の上にデータをオーバーレイしようとしていますが、望むようにズームを調整することはできません。地図では、名前のある各地域の行を見ることができるようにしたい(マップ(「世界」、「カナダ」)は望ましくない)R:地図のクロップ/ズーム

私はズームを変更しようとしましたが、一つはあまりにズームアウトされ、他方はあまりにズームインされています

qmap(location = "Canada", zoom = 3) 

enter image description here

qmap(location = "Canada", zoom = 4) 

enter image description here

私はトリミングする方法について研究を試してみましたイメージが失敗しました

ありがとうございます!

+0

あなたはこのマップを作成するには、 'ggmap'を使用する必要がありますか?また、データの空間的な範囲は?データが1つのエリアに集中している場合は、カナダの地図全体が適切でない場合があります。 – ccapizzano

答えて

0

mapsパッケージとパッケージのいずれかを使用してこれにアプローチするか、ggmapを続行します。それはちょうどあなたが望む細部に依存します。 ggmapを使用して

library(raster) 
library(maps) 
library(mapdata) 
canada<-getData("GADM",country="CAN",level=1) 

plot(canada,xlim=c(-141,-53),ylim=c(40,85),col="gray80",border="gray40",axes=T,las=1) 
invisible(text(getSpPPolygonsLabptSlots(canada),labels=as.character(substr(canada$HASC_1,4,5)), 
       cex=0.75, col="black",font=2)) 

enter image description here

空間データをつかむとき、あなたはバウンディングボックスを指定することができます。それはあなたが興味を持っている領域の一部を上書きしています(つまり、ほとんどの米国をプロットしています)。したがって、境界ボックス値をggmap関数に再度適用すると、表示可能領域が縮小されます。

library(ggmap) 

lats<-c(40,85) 
lons<-c(-141,-53) 
bb<-make_bbox(lon=lons,lat=lats,f=0.05) 
cda<-get_map(bb,zoom=3,maptype="terrain") 
ggmap(cda)+xlim(lons)+ylim(lats)+theme_bw()+labs(x="Longitude",y="Latitude") 

enter image description here