我对创建一个如下所示的地图很感兴趣(可在https://www.axios.com/2017/12/15/the-flow-of-goods- Between-states-1513304375 找到):
具体来说,我想用曲线来描绘地图上区域之间的流动,并用更宽的线指示更大的流动,并使用箭头来显示流动的方向。如果可能的话,我还希望从 A 到 B 的线不要位于从 B 到 A 的线的顶部,以便观看者区分两者。最好使用ggplot2
,尽管我对其他解决方案持开放态度。
我会注意到有一些相关的问题(例如How can I add Direction arrows to Lines画在R中的地图上?,如何在R中创建带有方向箭头的地图图表?,使用R在地图中绘制电子邮件流,以及https ://flowingdata.com/2011/05/11/how-to-map-connections-with-great-circles/),但我想知道是否有一个解决方案可以让我一次合并所有元素。(我不确定先前的解决方案是否解决了 A 到 B 以及 B 到 A 不重叠的问题。)
是的,可以使用
ggplot2
(tidyverse
) 和sf
。的curvature
需要geom_curve()
与 0 不同,例如。0.5,为了创建一个没有重叠箭头的椭圆,A--> B 和 B-->A。这是一个快速尝试。您可能需要为 Alpha 和线宽创建容器。