我有一个数据框,其中包含行走在t
,x
已知地图上的人的时间y
和x:0-520
,y:0-300
坐标。我想创建一个在每个t
行走的人的动画,其背景是地图。
我尝试使用动画包中的saveVideo()
,没有背景,而且效果很好。当我尝试使用rasterImage()
添加背景时,在背景中绘制PNG需要花费太多时间,因为它会在每个循环中从头开始绘制PNG。
有没有办法可以通过在每个循环上运行rasterImage()
来加快这个过程?
是否可以删除绘图点,并绘制新点,以便我不必再次运行rasterImage()
?
非常感谢您的帮助!
以下是我的代码:
a是包含x
,y
,t
作为列
saveVideo({
ani.options(interval = 1/100, nmax = 50)
xy = a[,1:2]
t = a$t
ima <- readPNG("floorplan.png")
for (i in 600:800) {
plot(xy[i,], xlim = c(0,520),ylim = c(0,300))
####to plot my png as background. works fine if this section is omitted
lim <- par()
rasterImage(ima, lim\$usr[1], lim\$usr[3], lim\$usr[2], lim\$usr[4])
#####
legend('topright',legend=paste('time =',i), bty='n')
ani.pause()
}
},movie.name = "pathBG.mp4")