r - 在 ggplot/ggmap 中省略一些边框

标签 r ggplot2 ggmap

我对 R 很陌生,我只是在玩一个项目来绘制 2010 年到 2020 年阿拉巴马县的预计人口增长。这是我的代码:

dat <- read.table("C:/Users/rasmus/Documents/countyinfo.txt", sep="\t", header=TRUE)

library(ggplot2)
library(maps)
library(ggmap)

mdat <- map_data('county')
str(mdat)
al1 = get_map(location = c(lon = -86.304474, lat = 32.362563), 
              zoom = 7, maptype = 'roadmap')
al1MAP = ggmap(al1) + 
         geom_point(data=dat,inherit.aes = FALSE, 
                    aes(y=Lat, x=Lon, map_id=County, size=Growth), col="red") + 
         borders("state", colour="red", alpha=0.8) + 
         borders("county", colour="blue", alpha=0.5)
al1MAP

现在,我有两个问题。

1) 国家边界似乎在做一些奇怪的事情。这是关闭县覆盖的屏幕截图:

enter image description here

2)鉴于这仅与阿拉巴马州有关,我想关闭州边界以外的边界,但我不知道该怎么做。我的猜测是尝试使用 xlimylim ,但我不知道如何将这些限制到阿拉巴马州边界多边形。

最佳答案

似乎与功能borders()因为某些状态的坐标是连接在一起的。

要解决这个问题,您可以存储 state使用 map_data() 将边框作为单独的数据框然后添加 state边框使用 geom_path()到你的 map 。在 geom_path()添加 group=region以确保点仅根据一个区域连接。

要仅显示阿拉巴马县的边界,您应该添加参数 region="alabama"功能 borders() .

al1 = get_map(location = c(lon = -86.304474, lat = 32.362563), 
      zoom = 6, maptype = 'roadmap')
mdat <- map_data('state')
ggmap(al1) + 
  geom_path(data=mdat,aes(x=long,y=lat,group=region),colour="red",alpha=0.8)+
  borders("county", colour="blue", alpha=0.5,region="alabama")

enter image description here

关于r - 在 ggplot/ggmap 中省略一些边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15677225/

相关文章:

regex - 在字符串中使用正则表达式进行模式匹配

plot - 如何通过 Gadfly.jl 保存绘图而不显示

r - 如何绘制与均值的偏差

r - 如何从 ggplot2 的热图中排除异常值?

r - R中函数的语法?

r - tidyverse 使用两种不同的 reshape 策略(创建 calcategorized 和 binary 列)执行ivot_wider

r - 在整个 tibble 行中搜索字符串?

r - ggplot2 增加图例键之间的空间

r - 将 ggmap 对象保存到可以重复使用的文件中?

R 3.2.1 颜色映射不正确