求助:gganimate中transition_reveal结合geom_line时最后一帧线条异常问题
gganimate transition_reveal 最后一帧渲染异常问题
问题现象
使用transition_reveal制作多分组折线动画时,动画最后一帧仅保留一条完整更新的线条,其余线条均回退至之前的状态;但不使用gganimate直接绘制静态图时无此问题,且无论调整结束暂停时长或x轴数据量,该现象均存在。
重现代码
df <- read.csv("test.csv", stringsAsFactors = TRUE) anim <- ggplot(df, aes(Day, Accidents, group = State, color = State)) + geom_line() + transition_reveal(Day) + ease_aes('cubic-in-out') jiff <- animate(anim, fps = 24, duration = 5, start_pause = 0, end_pause = 72, height = 4, width = 7, units = "in", res = 150) jiff
测试数据结构
structure(list(State = structure(c(1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L), levels = c("A", "B", "C", "D"), class = "factor"), Day = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L), Accidents = c(5L, 2L, 5L, 6L, 1L, 2L, 6L, 8L, 4L, 10L, 2L, 4L)), class = "data.frame", row.names = c(NA, -12L))
异常效果展示

问题成因
这是gganimate 1.0.8版本的专属bug,transition_reveal在处理分组折线的最后帧渲染逻辑时出现错误,导致仅保留最后一个分组的完整线条状态,其余分组的线条未正确渲染至最终数据点。
解决办法
将gganimate从1.0.8版本降级至1.0.7版本,即可修复该渲染异常问题。
内容的提问来源于stack exchange,提问作者ddeann
相关产品推荐
相关产品推荐

