经度值为0-360的地图投影

时间:2017-06-07 20:16:37

标签: r ggplot2 ggmap

我正在尝试绘制经度坐标为0,360的世界地图。当我这样做时,经度点从中间地图开始,或者地图的投影被抛弃。这是一个例子:

ggplot() + 
      geom_polygon(data = world_map, aes(x=long, y = lat, group=group)) + 
      coord_fixed(1.3) + coord_equal(xlim = c(0, 360), ylim = c(-90, 90))

我希望经度能够使用完整的地图投影读取0到360.

1 个答案:

答案 0 :(得分:1)

您可以使用" world2" map包中的映射,其范围为[0,360]:     ggplot()+       geom_polygon(data = fortify(maps :: map(" world2",plot = FALSE,fill = TRUE)),aes(x = long,y = lat,group = group))+       coord_fixed(1.3)+ coord_equal(xlim = c(0,360),ylim = c(-90,90))

或者,如果您希望自由移动地图,可以使用地图v3.2.0(刚上传到CRAN)

myworld = maps::map(wrap=c(0,360), plot=FALSE, fill=TRUE)
    ggplot() + 
      geom_polygon(data = fortify(maps::map("world2",plot=FALSE,fill=TRUE)), aes(x=long, y = lat, group=group)) + 
      coord_fixed(1.3) + coord_equal(xlim = c(0, 360), ylim = c(-90, 90))

enter image description here