R中的大陆轮廓线

3

有没有一种方法可以在R中仅绘制rworldmap的大陆轮廓(没有国家,没有数据)?

还有两个与此问题接近的问题,但它们是为了填充大陆颜色,并且命令是用于绘制数据。 如何使用R绘制大陆地图?

我只想叠加大陆轮廓,而不需要国界线和其他数据。


你可以使用我在链接问题中的答案来获取一个SpatialPolygonsDataFrame对象的大陆轮廓。然后将绘图颜色设置为透明,可以使用plot(cont, col=NA)或者spplot(cont, col.regions=NA)。 另外,你也可以将cont作为一个SpatialPolygonsDataFrame转换成SpatialLines对象, 然后使用plot()函数进行绘制,如cl <- as(cont, "SpatialLines"); plot(cl)。当然,你也可以像这样使用lines(cl)把它添加到现有图表中等等。 - Josh O'Brien
2个回答

2
你可以进行以下操作,并修改绘图的许多方面(标题、轴标签、边框、网格等)。
library(ggplot2)
countries <- map_data("world")
ggplot(countries, aes(x=long, y=lat, group = group)) +
  geom_polygon(col=NA, lwd=3, fill = "white")

enter image description here

如果你使用 geom_path,也许可以去掉国界线但保留大陆轮廓,但我尝试了多种参数组合却没有成功:

ggplot(countries, aes(x=long, y=lat, group = group)) +
  geom_path(col="red", lwd=0, fill = "red")

这个答案对你有用吗?或者帮助你解决了问题吗? - lawyeR

2
你可以使用 rworldmap 中的 coastsCoarse 数据。
library(rworldmap)
data(coastsCoarse)
plot(coastsCoarse)

在格网地图上显示叠加层的示例。
mapGriddedData()
plot(coastsCoarse,add=TRUE,col='blue')

谢谢!那正是我在寻找的。 - usernancy
好的。在这种情况下,惯例是通过点击左侧的勾号来接受答案。谢谢。 - Andy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接