美国单个州的地图,说明州边界、县边界和地形背景

问题描述 投票:0回答:1

我希望在 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)

但是,我上面的代码尝试似乎没有正确渲染多边形(我相信与组属性有关)。我需要如何修复我的代码?

r maps ggmap
1个回答
0
投票

您缺少

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
,它导致了两条黑色对角线。

© www.soinside.com 2019 - 2024. All rights reserved.