我想使用ggplot::borders()
显示太平洋。我的问题是,我不知道如何向西显示澳大利亚和亚洲,向东显示美洲。
ggplot() + borders() + coord_cartesian(xlim = c(-290, -70))
在结果图中,应该显示亚洲和澳大利亚,但它们没有显示。
我想做一些类似的事情:
ggplot() + borders() + borders(x = long - 360)
获取这样的 map :
有人能帮我解决这个问题吗? SO 上有关于 maps
的答案和ggmap
包,但我无法使用 ggplot2::borders()
找到答案.
任何答案的一个重要方面是经纬度值是正确的。挑战是:使用传统的经度坐标,太平洋 View 将从增加的正值(东半球)开始,然后在反子午线(西半球)切换到减少的负值。我怎样才能最好地在 R 中绘制它 borders()
?
最佳答案
我尝试将其放大一点以更接近您发布的内容(代码如下)。感谢this answer通过 kohske
# install.packages("mapdata", dependencies = TRUE)
# install.packages("ggplot2", dependencies = TRUE)
library(ggplot2)
library(mapdata)
mp1 <- fortify(map(fill=TRUE, plot=FALSE))
mp2 <- mp1
mp2$long <- mp2$long + 360
mp2$group <- mp2$group + max(mp2$group) + 1
mp <- rbind(mp1, mp2)
ggplot(aes(x = long, y = lat, group = group), data = mp) +
geom_path() +
scale_x_continuous(limits = c(110, 300)) +
scale_y_continuous(limits = c(-50, 70))
关于r - 使用 ggplot2::borders() 绘制太平洋和大陆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34011100/