我想从ggmap
向Google路线图添加县线。我正在使用ggplot2
中的县纬度/经度数据。地图被放大到比整个县多边形更小的区域。通常,当我绘制多边形的一部分时,我会生成整个多边形,然后通过coord_map
这里的问题是Google路线图没有调整大小。
library(tidyverse)
library(ggmap)
king <- map_data('county') %>% filter(region == 'washington', subregion == 'king')
bbox <- ggmap::make_bbox(lon = king$long, lat = king$lat, f = 0)
county_map <- ggmap::get_map(location = bbox, maptype = "roadmap", source = "google", zoom = calc_zoom(bbox) - 1)
county_map <- ggmap::ggmap(county_map)
c_map <- county_map + geom_polygon(data = king, aes(x = long, y = lat), fill = NA, color = 'blue')
c_map + coord_map(xlim = c(-122.4, -122),ylim = c(47.5, 47.9))
如果我从一开始就获得了放大的路线图,就会遇到多边形被剪切和打乱的问题。
bbox2 <- ggmap::make_bbox(lon = c(-122.4, -122), lat = c(47.5, 47.9), f = 0)
county_map2 <- ggmap::get_map(location = bbox2, maptype = "roadmap", source = "google", zoom = calc_zoom(bbox2) - 1)
county_map2 <- ggmap::ggmap(county_map2) + coord_map(xlim = c(-122.4, -122),ylim = c(47.5, 47.9))
county_map2 + geom_polygon(data = king, aes(x = long, y = lat), fill = NA, color = 'blue')
因此,我正在尝试将县线从顶部绘制到底部绘制。谢谢!
**编辑: 链接的帖子重复
答案 0 :(得分:2)
我标记为重复的帖子似乎可以回答您的问题。
ggmap(county_map2, base_layer=ggplot(aes(x=long,y=lat), data=king),
extent = "normal", maprange=FALSE) +
geom_polygon(aes(x = long, y = lat),
data = king, colour = 'blue', fill = NA, alpha = .5) +
coord_map(projection="mercator",
xlim=c(attr(county_map2, "bb")$ll.lon, attr(county_map2, "bb")$ur.lon),
ylim=c(attr(county_map2, "bb")$ll.lat, attr(county_map2, "bb")$ur.lat)) +
theme_nothing()