R Plotly动画 - 初始帧

16

如何使Plotly动画在最后一帧加载?也就是说,当图形加载时,我希望它加载在最后一帧(例如2017年)。默认情况下,它会在第一帧(例如1960年)上加载。稍后,当人们点击播放按钮时,动画应从第一帧(例如1960年)开始。

 animation_opts(frame = frame, transition = 0, redraw = FALSE) %>% 
  animation_slider(currentvalue = list(prefix = "Year"))

1
我有同样的问题。你找到答案了吗? - Sasha
很遗憾,我没有。 - Camila Vargas Restrepo
3
如果您提供完全可复现的代码,就可以获得更多的答案。 - MrSmithGoesToWashington
一个解决方法可能是:将2017年的一行复制到您的数据中,并将年份更改为0。因此,年份0(实际上是2017年)将位于开头。缺点是会显示“年份0”,但好处是在播放后,当实际上是2017年时,它将停留在年份0。 - Sixiang.Hu
1个回答

5
这不是一个完整的答案,但因为暂时没有其他答案,我决定尽力提供最好的答案,也许其他人有更好的想法可以从这里改进?
有一个名叫animation_slider()的函数,它接受active参数,可以设置滑块上的活动帧。然而,这并不会改变图中的活动帧...所以我们的想法是添加一个0号帧(正如Sixiang.Hu在评论中提到的),并将其与活动帧组合使用。这种解决方案的缺点显然是,当您在动画滑块上向后移动时总会出现0号帧。
# sample data
df = data.frame(a=seq(1,20),b=seq(1,20),frame=seq(1,20))

# add initial frame
init_frame = 10
df = rbind(df[df$frame==10,],df)
df$frame[1]=0

library(plotly)
plot_ly(df,x=~a,y=~b,frame=~frame) %>% animation_slider(active=init_frame)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接