Tenho interesse em criar um mapa parecido com este (encontrado em https://www.axios.com/2017/12/15/the-flow-of-goods-between-states-1513304375 ):
Especificamente, quero representar fluxos entre regiões em um mapa com linhas curvas e indicar fluxos maiores com linhas mais largas, e também usar setas para mostrar a direção do fluxo. Se possível, eu também gostaria que a linha de A a B não estivesse no topo da linha de B a A, para que o espectador pudesse distinguir entre as duas. E de preferência use ggplot2
, embora esteja aberto a outras soluções.
Observarei que existem questões relacionadas (como Como posso adicionar setas direcionais às linhas desenhadas em um mapa em R? , Como criar um mapa gráfico com setas de direção em R? , plotando o fluxo de e-mail no mapa usando R e https ://flowingdata.com/2011/05/11/how-to-map-connections-with-great-circles/ ), mas queria saber se existe uma solução que me permita incorporar todos os elementos de uma vez. (E não tenho certeza se as soluções anteriores resolvem o problema de não haver sobreposição de A com B e de B com A.)
Sim, é possível com
ggplot2
(tidyverse
) esf
. Ocurvature
ofgeom_curve()
precisa ser diferente de 0, ex. 0.5, para criar uma elipse sem setas sobrepostas, A--> B e B-->A.Aqui está uma tentativa rápida. Você pode querer criar compartimentos para alfa e largura de linha.