如何將道路(或任何交通基礎設施)添加到我在R中製作的地圖?我認爲這個問題的概括將是我怎樣才能使用geom_polygon()
在彼此的頂部繪製兩層,而沒有第二層覆蓋第一層?使用ggplot2添加道路地圖
我特意試圖用芝加哥的病房地圖和它的巴士路線圖來做到這一點。兩者均可在線獲取:https://data.cityofchicago.org/Facilities-Geographic-Boundaries/Boundaries-Wards-2015-/sp34-6z76和這裏:https://data.cityofchicago.org/Transportation/CTA-Bus-Routes-Shapefile/d5bx-dr8z。
代碼分別繪製每個:
library(ggplot2)
library(rgdal)
wards <- readOGR(dsn=path.expand("~/Desktop/Wards"), layer ="geo_export_d15e486d-2802-4700-afe7-9063b55d3e27")
buses <- readOGR(dsn=path.expand("~/Desktop/CTA_Routes"), layer ="CTA_Routes")
#Fortify Wards
wards.point <- fortify(wards, region = "ward")
colnames(wards.point)[6] <- "ward"
wardsmap.df <- join(wards.point, [email protected], by = "ward")
#Fortify Buses
buses.point <- fortify(buses, by = "OBJECTID")
colnames(buses.point)[5] <- "OBJECTID"
buses.df <- join(buses.point, [email protected], by = "OBJECTID")
#Simple Ward map
ggplot() + geom_polygon(data = wardsmap.df, aes(x = long, y = lat, group = group),
fill = NA, color = "black", size = 0.25) + theme_nothing(legend = TRUE)
#Simple buses map
ggplot() + geom_polygon(data = buses.df, aes(x = long, y = lat, group = group),
fill = NA, color = "black", size = 0.25) + theme_nothing(legend = TRUE)
其實你可以通過添加coord_cartesian()修復投影問題,所以如果你把它下面應該罰款。 (x = long,y = lat,組=組),fill ='black',color =「black」,size = 0.25, alpha = .5)+ geom_path(data = bus.df,aes(x = long,y = lat,group = group),color =「red」,size = 0.35) – ike