【问题标题】:Re-plot graph as a video将图形重新绘制为视频
【发布时间】:2018-02-08 10:47:06
【问题描述】:

我有一个需要实时重新绘制为视频的数据集。 1 秒内有 1000 个数据点。在此之后,我还想以 1/10 的速度重新绘制相同的视频。一个例子如下所示。我在另一个软件中执行此操作,该软件可以选择在 GUI 界面中执行此操作。

有没有办法在 R 或 Python 中做到这一点?我查看了一些库,例如 R 中的“动画”,但无法得到我想要的。

【问题讨论】:

    标签: python r animation video plot


    【解决方案1】:

    这是一个在 R 中使用 animation 包的示例:

    library(animation)
    
    set.seed(2)
    dat = data.frame(x=1:50, y=cumsum(rnorm(50)))
    
    # Two times through the animation, once fast, once slow
    ani.options(interval=rep(c(1/nrow(dat),1/nrow(dat)*10), each=nrow(dat)))
    
    saveGIF(for(i in 1:(2*nrow(dat))) {
      plot(dat$x[1:(i %% nrow(dat))], dat$y[1:(i %% nrow(dat))], type="l", 
           ylim=range(dat$y), xlim=range(dat$x), xlab="Time", ylab="Value")
    }, "my_movie.gif")
    

    【讨论】:

    • 这真的很有帮助 - 我对 ani.options 参数有疑问。当它设置为 0.02 并且数据点的数量为 50 时,它应该在 50*0.02 中绘制整个图形,即 1s,它确实如此。我尝试了 0.04、0.06 等,它相应地工作。但是当我尝试将其设置为 0.001 时,它应该以 50*0.001 绘制整个图形,即 0.05 秒,对吗?而是需要 5 秒。对于我的图表,我想每 0.001 秒绘制一个数据点,并且我有大约 10 秒的实时数据。
    • 我不确定。它可能会受到计算机显示 GIF 帧的速度的限制。
    • 我尝试将其保存为视频而不是 gif 并且它有效。我想 gif 有一些限制
    • 您好!一段时间后我会回到这个问题上。我现在收到一个错误:magick_image_animate(图像,延迟,as.integer(循环),处置)中的错误:期望单个值:[extent = 100]。可能是什么原因?我也将此作为一个新问题发布!
    猜你喜欢
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    相关资源
    最近更新 更多