将map函数与mapproj库一起使用时,包括边框和状态缩写

Mat*_*ien 2 r map

我使用R中的mapproj包创建了美国大陆的地图.

我知道可以包含状态边框和缩写,但我在文档中找不到任何解释方法的信息.

我的代码如下所示,并生成下面的第一个地图:

map(database= "usa", col="grey80", fill=TRUE)
points(DF$lat, DF$lon, pch=20, cex=2, col="springgreen4") 
Run Code Online (Sandbox Code Playgroud)

我的形象是:

在此输入图像描述

我已经看到,有状态和边界在他们的类似图谱 - 例如,这里是我想什么来模拟我的地图上(请忽略的颜色):

在此输入图像描述

关于如何将这两个元素包含在我的地图中的任何帮助将不胜感激.谢谢.

(PS:我不是故意听起来贪婪......但如果有任何想法我怎么能删除我的地图周围的边框,那绝对太棒了!)

42-*_*42- 5

这将为您提供绿色透明灰色叠加的状态轮廓:

map(database= "state", col="green", fill=FALSE)
map(database= "usa", col="#AAAAAA22", fill=TRUE,lty=0,add=TRUE)
Run Code Online (Sandbox Code Playgroud)

(为灰色添加了"alpha"值,让边框"透过"....看到?rgb?col2rgb.)这样添加标签但非常混乱,并且有额外的区域:

map.text(database="state", add=TRUE) #  Not advised
Run Code Online (Sandbox Code Playgroud)

我认为state需要对数据集包中的数据集进行更多的工作才能将缩写映射到状态中心.

?state
Run Code Online (Sandbox Code Playgroud)

虽然您可能希望使用cex = 0.6使文本稍微小一些,但这似乎很有效:

text(x=state.center$x, y=state.center$y, state.abb)  # better
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

通过进一步调整,您可以通过用白色覆盖来删除一些边界:

map(database= "state", col="green", fill=FALSE)
map(database= "usa", col="#FFFFFF", fill=FALSE,add=TRUE, lwd=1.5)   # the overwrite of boundary
map(database= "usa", col="#AAAAAA22", fill=TRUE,lty=0,add=TRUE)   # note the transparency
text(x=state.center$x, y=state.center$y, state.abb, cex=0.5)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述