R语言:混合gganimate和ggrepel

时间:2017-09-08 15:29:53

标签: r gganimate ggrepel

我一直在使用这两个软件包( 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,在2012年的第二个坐标处打印A.

有没有人能解决这个问题?

非常感谢。

0 个答案:

没有答案