Вы можете получить желаемый эффект, сделав три копии источника и назначив группу для каждой точки, которая должна пройти от ее источника до целевого местоположения.
https://cran.r -project.org / web / packages / gganimate / vignettes / gganimate.html
Ключ - эстетика группы.Возможно, вы знакомы с этой эстетикой по построению линий и многоугольников, но в gganimate она занимает более центральное место.Данные, которые имеют одинаковую эстетику группы, интерпретируются как связанные между штатами.Семантика групповой эстетики в ggplot2 такова, что если она не определена, она будет рассчитываться на основе взаимодействия всех дискретных эстетик (без метки).Если ничего не существует, например, в нашей анимации радужной оболочки, все данные получат одну и ту же группу и, следовательно, будут сопоставлены gganimate.
library(ggplot2)
library(gganimate)
df <- read.table(text = "node intensity Lon Lat grp
SRC .9 40 60 1
SRC .9 40 60 2
SRC .9 40 60 3
TGT .89 80 40 1
TGT .8 40 30 2
TGT .99 30 20 3", header = TRUE)
ggm <- ggplot(data = df, aes(x = Lon, y = Lat, size= intensity, colour=node, group = grp)) +
geom_point(alpha=.5)+
transition_states(node)+
labs(title = "test")+
shadow_wake(wake_length = 0.5)