我希望在 R 中生成堪萨斯州的地图,其中显示该州的边界、每个县的边界以及地形背景。为此,我使用库
ggmap
和 mapdata
。
library(ggmap)
library(ggthemes)
library(mapdata)
ks_state_map_df <- map_data("state", region="kansas")
ks_counties_map_df <- map_data("county") %>% filter(region=="kansas")
ks_cities_map_df <- us.cities %>% filter(country.etc=="KS")
ks_cities_map_df$name <- gsub(" KS","", ks_cities_map_df$name)
KS_area <- c(left=-102.051744, right=-94.588413, bottom=36.993016, top=40.003162)
KS_map <- get_stadiamap(bbox=KS_area, maptype='outdoors')
ggmap(KS_map) +
theme_map() +
geom_polygon(data=ks_state_map_df, mapping=aes(x=long, y=lat, group=group), color="black", fill=NA) +
geom_polygon(data=ks_counties_map_df, mapping=aes(x=long, y=lat), color="gray", fill=NA) +
geom_point(data=ks_cities_map_df, mapping=aes(x=long, y=lat)) +
geom_text(data=ks_cities_map_df, mapping=aes(x=long, y=lat, label=name), hjust=0, nudge_x=0.1)
您缺少
group=group
中的 ks_counties_map_df
。
我会夸大四个几何图形的线条,只是为了突出显示“新”内容。
ggmap(KS_map) +
theme_map() +
geom_polygon(data=ks_state_map_df, mapping=aes(x=long, y=lat, group=group), color="black", fill=NA, linewidth=10) +
geom_polygon(data=ks_counties_map_df, mapping=aes(x=long, y=lat, group=group), color="gray", fill=NA, linewidth=10) +
geom_point(data=ks_cities_map_df, mapping=aes(x=long, y=lat), size=10) +
geom_text(data=ks_cities_map_df, mapping=aes(x=long, y=lat, label=name), hjust=0, nudge_x=0.1, size=10)
我不太确定
ks_state_map_df
,它导致了两条黑色对角线。