gpt4 book ai didi

r - 在 R 中增量绘图而不是重置

转载 作者:行者123 更新时间:2023-12-04 10:44:12 26 4
gpt4 key购买 nike

您会使用哪些选项(和包)来逐步绘制计算结果?

想象一下,我想绘制持续很长时间的计算结果,但我不想等到最后才看到一些结果。绘制每个点并不是一个好主意,因为每次都启动绘图命令会非常慢。我将改为绘制每 N 个点(将它们保存在一个向量上)。

例如,如果我使用斐波那契数列,将循环分成两个嵌套循环,以便每 10 次迭代绘制一次结果:

fibo=rep(0,112);fibo[1]=0;fibo[2]=1;
plot(fibo) #to initialize
for(ii in 0:10) {
for(jj in 0:9) {
fibo[ii*10+jj+3]=fibo[ii*10+jj+2]+fibo[ii*10+jj+1];
}
plot(fibo)
}

但它不会保留上一次迭代的图形。我该怎么做?这不是一个很好的例子,因为数字增长得太快了。并且情节初始化事先不知道最大 y 值。也许使用其他更好的图形包会更好?

最佳答案

这是一个简单的示例,说明如何通过设置应绘制的点并仅在满足此条件时添加 points 来执行此操作:

# set the frequency with which to plot points
plotfreq <- 10

# set the x and y limits of the graph
x.limits <- c(1,100)
y.limits <- c(0,100)

# initialise a vector and open a plot
result <- vector(mode="numeric",length=100)
plot(result,ylim=y.limits,xlim=x.limits,type="n")

# do the plotting
plot.iterations <- seq(plotfreq,length(result),by=plotfreq)
for (i in seq_along(result)) {
result[i] <- result[i] + i

# only plot if the data is at the specified interval
if (i %in% plot.iterations) {
points(i,result[i])
}

}

关于r - 在 R 中增量绘图而不是重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15627681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com