我一直試圖在R中使用ggplot2和openstreet地圖繪製加拿大不同地區的遊客人數,但我似乎錯過了一步,因爲我的觀點都是最終在地圖的右下角,我的地圖縮小了。在R的地圖上繪製密度點
下面是我在數據集map.tourists中使用的一些數據。
id Nb.Touristes Nb.Nuitees
1001 939.9513 1879.903
1004 1273.4336 2546.867
1006 776.5203 3882.602
1010 3118.4872 18598.194
1102 921.7354 3971.677
1103 622.8770 1245.754
這是我到目前爲止的代碼。帶有座標的數據位於我下面代碼中下載的Statistic Canada文件中。
download.file("http://www12.statcan.gc.ca/census-recensement/2011/geo/bound-limit/files-fichiers/gcd_000b11a_e.zip", destfile="gcd_000b11a_e.zip")
unzip("gcd_000b11a_e.zip")
library(maptools)
canada<-readShapeSpatial("gcd_000b11a_e")
library(GISTools)
CDCenters <- coordinates(canada)
CDCenters <- SpatialPointsDataFrame(coords=canada, [email protected],
proj4string=CRS("+proj=longlat +ellps=clrk66"))
CDCenters=data.frame(CDCenters, row.names=NULL , id=CDCenters$CDUID)
canada_map <- merge(CDCenters, map.tourists, by="id")
list <- ls()
list <- list[-grep("canada_map", list)]
rm(list=list)
rm(list)
Sys.setenv(NOAWT=1)
library(OpenStreetMap)
library(rgdal)
library(stringr)
library(ggplot2)
mp <- openmap(c(71, -143), c(40, -50), zoom=4, type="osm",mergeTiles=TRUE)
library(ggplot2)
autoplot(mp) +
geom_point(data=canada_map, alpha = I(8/10), aes(x=coords.x1,y=coords.x2, size=Nb.Touristes, color=Nb.Touristes)) +
theme(axis.line=element_blank(), axis.text.x=element_blank(), axis.text.y=element_blank(), axis.ticks=element_blank(), axis.title.x=element_blank(), axis.title.y=element_blank()) +
scale_size_continuous(range= c(1, 25)) +
scale_colour_gradient(low="blue", high="red") +
labs(title="Nombre de touristes à Montréal en 2010 selon la division de recensement d’origine")
我會張貼我得到的圖像,但我沒有足夠的聲望呢!
我得到兩個傳說,地圖集中在左上角,所有的點似乎是在右下角......
我能做些什麼?
謝謝!