【发布时间】:2013-12-11 13:02:01
【问题描述】:
我正在制作一张关于从美洲出口到荷兰的地图。为了可视化我的数据,我想制作一张带有从美洲国家到荷兰的箭头的地图。我使用 cshapes 世界地图和 ggplot2。
data = data.frame("Country.name" = c("Brazil","USA","Canada","Paraguay","Uruguay"), "lng" =
c(14.23,37,56.13,-23.44,-32.52), "lat" = c(-51.92,-95.71,-106.34,-58.44,-55.77))
require(cshapes)
cshp.data = cshp(date=as.Date("2012-1-1"), useGW=TRUE)
region.data.frame = fortify(cshp.data, region = "ISO1AL3")
ggplot(region.data.frame) + geom_polygon(aes(long,lat,group=group)) +
geom_segment(data = data, aes(x = lat, y = lng, xend= (5.29 - 0.1 * (5.29 - lat)), yend= (52.13 - 0.1 * (52.13 - lng))),
arrow=arrow(length=unit(0.5,"cm"), angle = 45, type = "closed"))
我发现直线绘制时会重叠。这很丑陋。因此,我正在寻找一种在 ggplot2 内的坐标之间绘制曲线的方法,因此它们不会重叠。
【问题讨论】:
-
也许大圆路径可能是什么?你可以看看geosphere package。