R动画包:曲线的动画仅显示一个空白帧和结束
我对曲线的动画有问题。 我有一个data.table,它存储了我要为每条曲线绘制的点。在每个连续的帧中,我想从data.table中绘制下一列 例如:R动画包:曲线的动画仅显示一个空白帧和结束,r,animation,ggplot2,R,Animation,Ggplot2,我对曲线的动画有问题。 我有一个data.table,它存储了我要为每条曲线绘制的点。在每个连续的帧中,我想从data.table中绘制下一列 例如: library(data.table) library(ggplot2) library(animation) x <- seq(1, 10, 0.1) y1 <- x y2 <- 2*x y3 <- 3*x y4 <- 4*x y5 <- 5*x te
library(data.table)
library(ggplot2)
library(animation)
x <- seq(1, 10, 0.1)
y1 <- x
y2 <- 2*x
y3 <- 3*x
y4 <- 4*x
y5 <- 5*x
test <- data.table(x = x,
y1 = y1,
y2 = y2,
y3 = y3,
y4 = y4,
y5 = y5)
库(data.table)
图书馆(GG2)
图书馆(动画)
我不认为这是一个数据表问题。执行以下操作时会发生什么:plot(test[[“x”]],test[[cols[i]])
其中cols
只是一个字符向量?另外,如果您在data.frame
上执行相同操作,会发生什么?谢谢@Arun。我试过你的建议,但结果是一样的。像这样访问列在脚本内部工作。所以我认为你是对的,这不是数据表问题。我删除了关键字。我不知道你可以这样称呼一个专栏。这在可读性方面也更好。我注意到,ffmpeg
s输出文本显示frame=5fps=0.0q=-1.0lsize=33kB时间=00:00:03.00比特率=91.2kbit/s。也许fps=0.0说明了这个问题?我不知道答案(没有使用animation
package),但我的目的是排除data.table作为潜在问题,以便您(或其他人)可以关注其他包。祝你好运
drawCurve <- function(i){
cols <- c(quote(y1), quote(y2), quote(y3), quote(y4), quote(y5))
plot(test[, x], test[, eval(cols[[i]])])
}
drawAnimation <- function(){
for(i in 1:5){
dev.hold()
drawCurve(i)
ani.pause()
}
}
oopt <- ani.options(interval = 1, nmax = 5)
oopts = ani.options(ffmpeg = "D:/ffmpeg-20141030-git-7f24e1e-win32-static/bin/ffmpeg.exe")
if (.Platform$OS.type != "windows") ani.options(ffmpeg = "ffmpeg")
saveVideo({
drawAnimation()
}, video.name = "Curve.mp4", other.opts = "-b 800k")
ani.options(oopts)