在调用gganimate渲染动画序列时可以设置的gg_animate()选项中,似乎没有任何选项可以更改框架标题,以便使观察者更清楚地了解框架所基于的参数是什么。
换句话说,假设一个层中的frame = year:如何使该帧的标题为year: ####,其中####是当前帧的年份?我是遗漏了什么,还是gganimate库的限制?
你如何通过一个解决办法实现同样的结果?谢谢你的建议。
发布于 2016-05-23 17:50:09
更新新的gganimate API
gganimate已经用新API重新设计了。框架标题现在可以用下面的代码动画化。state_length和transition_length设置了在给定的“状态”(这里是cyl的给定值)和状态之间转换的相对时间。closest_state意味着在状态之间进行转换(在本例中是cyl的整数值)时,应该显示与当前转换值最接近的cyl值(例如,由于cyl可以是4、6或8,所以在(比方说)4和5之间的值显示为4,而在5和6之间的值显示为6):
p = ggplot(mtcars, aes(wt, mpg)) +
geom_point() +
transition_states(cyl, transition_length=1, state_length=30) +
labs(title = 'Cylinders: {closest_state}')
animate(p, nframes=40)可以通过运行gganimate从github安装devtools::install_github('thomasp85/gganimate')
格列奈特有更多关于如何使用新API的详细信息。
原始答案
框架的子集值被附加到任何预先存在的标题中。因此,您可以添加带有解释性文本的标题。例如:
library(gganimate)
p = ggplot(mtcars, aes(wt, mpg, frame=cyl)) + geom_point() +
ggtitle("Cylinders: ")
gg_animate(p)正如您在下面的GIF中所看到的,前缀“302:”现在添加到cyl值之前的标题中。

https://stackoverflow.com/questions/37397303
复制相似问题