【问题标题】:R Plotly animation - initial frameR Plotly 动画 - 初始帧
【发布时间】:2017-12-18 14:29:33
【问题描述】:

如何在最后一帧上加载情节动画。也就是说,当情节加载时,我希望它加载到最后一帧(例如 2017 年)。默认情况下,它在第一帧加载(例如 1960)。稍后,当人点击播放时,动画应该从第一帧开始(例如 1960)

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

【问题讨论】:

  • 我也有同样的问题。你找到答案了吗?
  • 很遗憾,我没有。
  • 如果您提供完全可复制的代码,您可能会获得更多答案。
  • 一种解决方法可能是:将 2017 年行的副本添加到您的数据中,并将年份更改为 0。因此第 0 年(实际上是 2017 年)将在开头。缺点是会显示“0 年”,但好在播放后会停在0 年,实际上是2017 年。

标签: r animation ggplot2 plotly shiny


【解决方案1】:

这不是一个完整的答案,但由于还没有其他答案,我决定发布我能做的最好的,也许其他人有想法可以从那里改进?

有一个函数animation_slider(),它接受参数active,可以设置滑块上的活动框。然而,这并没有改变情节中的活动框架......所以想法是添加一个框架 0,(正如 Sixiang.Hu 在 cmets 中也提到的那样)并将其与活动框架结合起来。这种解决方案的缺点显然是当您在动画滑块上移回时总是有第 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 2016-02-07
    • 2018-11-15
    • 2018-01-09
    • 1970-01-01
    相关资源
    最近更新 更多