几天来我一直在使用这两个包(gganimate 和 ggrepel),我必须说它们在可视化方面真的很有帮助。不过,我想知道是否有办法将它们结合起来。
最后,我试图为一些社区(在法国)绘制员工支出金额与每个社区(其中 18 个)的设备支出金额以及这种套利在 2011 年至 2015 年之间的演变.
因此,一个有趣的事情是使用ggrepel来将一个点与正确的社区相关联,并使用gganimate来查看这些点如何随着时间的推移而演变。
这是我的代码的一部分:
p <- ggplot(df) +
geom_point(aes(Equip, Staff, size=population, color=factor(Type), frame=Year)) +
scale_size(range = c(2,10)) +
geom_label_repel(aes(Equip, Staff, fill = factor(Type),
label = Name),
size=2.5,
fontface = 'bold',
color = 'white',
box.padding = unit(2.5, "lines"),
point.padding = unit(0.1, "lines"),
segment.color = 'grey50',
segment.size = 1,
max.iter = 20000, alpha = .7) +
facet_wrap(~other_variable, scales = "free")
gganimate(p,interval = 3,
ani.width = 1064,
ani.heigth = 768)
我的问题是gganimate只更新每一帧(即年份)的点并打印所有标签,丢弃实际打印的帧。
例如,如果 2011 年城市A有坐标:(100, 200)和 2012 年(150, 200),它将在两个年份的每个坐标处打印标签,而不是在 2011 年的第一个坐标处打印 A 和在第一个坐标处打印 A 2012 年的第二个坐标。
有没有人有这个问题的解决方案?
非常感谢。