如何将道路(或任何交通基础设施)添加到我在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