1

几天来我一直在使用这两个包(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 年的第二个坐标。

有没有人有这个问题的解决方案?

非常感谢。

4

0 回答 0