簡體   English   中英

使用ggmap路線圖和geom_polygon繪制縮放

[英]Plot zoom with ggmap roadmap and geom_polygon

我想將縣線從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')

在此處輸入圖片說明

因此,我正在嘗試將縣線從頂部繪制到底部繪制。 謝謝!

**編輯:鏈接文章重復

我標記為重復的帖子似乎確實回答了您的問題。

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()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM