r - 如何在 Rstudio 中查看此动画代码的输出
问题描述
此 R 代码用于创建动画情节,我已经运行它并且它确实运行但我无法查看它。据说将其输出保存在pdf
文件中,尽管我看到了文件但无法打开它。我在How do I transfer output of animation R package on a beamer frame 中
获得了代码,因为我想学习如何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
解决方案
这里有两件事:
您需要
dev.off()
在绘图后添加,以便将当前绘图保存到输出设备循环步骤正在为每个绘图重写相同的文件名,因此您最终只能在
frames.pdf
. 按照本教程,您应该将单独的 pdf 文件写入输出文件夹,然后在 LaTeX 中为它们制作动画。
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
该out
文件夹将位于您的工作目录所在的位置(用于getwd()
查看它)。
推荐阅读
- node.js - React Native CLI,找不到模块'/usr/local/lib/node_modules/react-native-cli/node_modules/prompt/lib/prompt'
- vue.js - 更改 Vuetify 上的标题默认字体
- algorithm - 我有两种用于 fib 问题的算法,1 需要 7 milsec,而其他算法需要 6 milsec,甚至第二种算法需要两次调用自身
- ios - 如何从 STPPaymentCardTextField 获取 YYYY 格式的到期年份
- mongodb - 无法通过 Internet 路由连接到本地 mongodb
- sql - 丢弃对象时丢弃的统计信息?
- php - ElasticSearch 索引得分
- powershell - Invoke-WebRequest -Uri 路径中的变量
- python - 在 python lambda 中使用 switch case
- java - 如何从 Android 安全地正确访问 SQL DB