同一x值对应多y点数据调用gganimate的transition_state报错如何解决
报错原因
你在美学映射中仅将group设置为grp,gganimate会默认type1、type2是需要在不同state之间做连续平滑过渡的全局分组,但你的两个state对应的x区间完全独立(state1对应x=15,state2对应x=611),同一个分组在两个state下的点没有重叠范围,gganimate在计算线段过渡的拆分逻辑时就会抛出对应错误。
解决方案
如果你的需求是两个state分别展示对应x区间的折线,不需要跨state做线段的平滑过渡,只需要把group修改为grp和state的交互项,让每个state下的同个分组独立识别即可,修改后代码如下:
library(gganimate) ggplot(m.df, aes(x, value, group = interaction(grp, state), color = grp)) + geom_line(na.rm = T) + geom_point(na.rm = T) + theme_bw() + transition_states(state)
如果需要保留跨state的过渡效果,你需要先补全数据,让每个grp在两个state下都覆盖全量x值的有效记录,再运行动图代码即可。
内容的提问来源于stack exchange,提问作者Mayur Shende
相关产品推荐
相关产品推荐

