r - 使用 ggplot2::borders() 绘制太平洋和大陆

标签 r ggplot2 maps

我想使用ggplot::borders()显示太平洋。我的问题是,我不知道如何向西显示澳大利亚和亚洲,向东显示美洲。

ggplot() + borders() + coord_cartesian(xlim = c(-290, -70))

在结果图中,应该显示亚洲和澳大利亚,但它们没有显示。

no asia and australia

我想做一些类似的事情:

ggplot() + borders() + borders(x = long - 360)

获取这样的 map :

world map

有人能帮我解决这个问题吗? SO 上有关于 maps 的答案和ggmap包,但我无法使用 ggplot2::borders() 找到答案.

任何答案的一个重要方面是经纬度值是正确的。挑战是:使用传统的经度坐标,太平洋 View 将从增加的正值(东半球)开始,然后在反子午线(西半球)切换到减少的负值。我怎样才能最好地在 R 中绘制它 borders()

convention

最佳答案

我尝试将其放大一点以更接近您发布的内容(代码如下)。感谢this answer通过 kohske

ggplot2 map pacific

# 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/

相关文章:

r - ggplot2 热图,图表之间具有固定比例的颜色条

android - map ,测试当前位置是否在折线上或附近

youtube - Google Maps v3信息窗口上的黑色Youtube视频!

r - 在 R 中使用管道工 API 进行 Oauth

r - 将剪贴板粘贴到 Shiny 的应用程序中?

r - R 中的 Azure PUT Blob 身份验证失败

r - ggplot2 和 map : geom_point and annotation_raster position mismatch

r - 如何通过多个变量重新排序条形图

google-maps - 同一坐标中多个标记的解决方案,Google Map mashup

r - 计算两个字符串之间的匹配