如何在Rstudio中查看此动画代码的输出

如何在Rstudio中查看此动画代码的输出,r,R,这个R代码是用来创建一个动画情节的,我已经运行过了,它确实运行过了,但我一直无法查看它。据说,虽然我看到了文件,但无法打开,但还是将其输出保存在pdf文件中。我在上获得了代码,因为我想学习如何在latex上输入R动画绘图,因此我以此为例。您能告诉我如何在Rstudio或代码保存到的位置查看其输出吗?如果您的意思是可以在最初保存到的pdf上查看输出,请告诉我如何查看?我正在使用Acrobat Reade Dc brownianMotion <- function(n=10,xlim=c(-

这个R代码是用来创建一个动画情节的,我已经运行过了,它确实运行过了,但我一直无法查看它。据说,虽然我看到了文件,但无法打开,但还是将其输出保存在
pdf
文件中。我在上获得了代码,因为我想学习如何在latex上输入
R
动画绘图,因此我以此为例。您能告诉我如何在
Rstudio
或代码保存到的位置查看其输出吗?如果您的意思是可以在最初保存到的
pdf
上查看输出,请告诉我如何查看?我正在使用Acrobat Reade Dc

brownianMotion <-  function(n=10,xlim=c(-20,20),ylim=c(-20,20),steps=50)
  {
    x=rnorm(n)
    y=rnorm(n)
    for (i in 1:steps) {
      plot(x,y,xlim = xlim,ylim = ylim)
      text(x,y)

      # iterate over particles
      for(k in 1:n){
        walk=rnorm(2); # random move of particle

        x[k]=x[k]+walk[1] # new position
        y[k]=y[k]+walk[2]

        # simple model for preventing a particle from moving past the limits
        if(x[k]<xlim[1]) x[k]=xlim[1]
        if(x[k]>xlim[2]) x[k]=xlim[2]
        if(y[k]<ylim[1]) y[k]=ylim[1]
        if(y[k]>ylim[2]) y[k]=ylim[2]
      }
    }
}


pdf("frames.pdf")                # output device and file name
par(xaxs="i", yaxs="i", pty="s") # square plot region
par(mai=c(0.9,0.9,0.2,0.2))      # plot margins

brownianMotion(n=20, steps=400)  # 20 particles, 400 time steps

brownianMotion这里有两件事:

  • 打印后需要添加
    dev.off()
    ,以便将当前打印保存到输出设备

  • 循环步骤是为每个绘图重写相同的文件名,这样您最终只能得到
    frames.pdf
    中的最后一帧。接下来,您应该将单独的pdf文件写入输出文件夹,然后在LaTeX中设置动画


  • brownianMotion你能提供一个链接到你从哪里得到这个例子吗?例如,根据,您必须将每个情节作为单独的pdf文件写入LaTeX动画。我在问题中加入了我从何处获得的链接,而不是否决票。为什么不问问您不清楚的地方?我感谢您对我的问题的回答。我打开了pdf文件,但它是静态图像形式,而不是我预期的动画形式。当我在brownianMotion(n=20,steps=4)中运行最后一条语句
    error时,我收到了这个错误消息:“…”在不正确的上下文中使用
    我编写了
    为了避免复制粘贴整个代码,您需要用函数的内容替换它。从R代码中获得的pdf不会是动画打印,而是在LaTex渲染中,从R代码生成的各种pdf中获得动画打印。
    brownianMotion <-  function(n=10,xlim=c(-20,20),ylim=c(-20,20),steps=50){
        x=rnorm(n)
        y=rnorm(n)
    
        for (i in 1:steps) {
          pdf(paste0("out/frames", i, ".pdf"))  # save frames{i}.pdf to 'out' folder
          plot(x,y,xlim = xlim,ylim = ylim)
          text(x,y)
          dev.off()                             # Adding dev.off()
    
          ...
        }
    }
    
    par(xaxs="i", yaxs="i", pty="s") # square plot region
    par(mai=c(0.9,0.9,0.2,0.2))      # plot margins
    
    if (!dir.exists("out")) dir.create("out")  # create 'out' folder if it doesn't exist
    brownianMotion(n=20, steps=4)    # 20 particles, 4 steps