r - 如何在 R 的 for 循环中保存绘图
问题描述
我有以下可重现的代码,它产生一系列图表:
N <- 199
K <- N+1
x <- rep(0,N)
x[1] <- 0.5
time <- c(1:K)
G <- c(2.7, 2.9, 3.0, 3.5, 3.82, 3.83, 3.84, 3.85)
for (g in G) {
for (t in 1:N) {
x[t+1] = g*x[t]*(1-x[t])
}
plot(time,x, main = g, type="l", xlim=c(0,100), col="blue")
}
这会产生 8 个图形,我想将每个图形保存为 .png 文件。我正在尝试做类似的事情:
png("graph_", g, ".png")
plot(time, x, ...)
dev.off
在上述代码中的for(g in G)
和循环之间,我创建了一系列名为:graph_2.7.png、graph_3.0.png、... graph_3.85.png 的文件for(t in 1:N)
我不确定是否需要创建一个列表并将每个结果粘贴到所述列表中或稍微更改我的语法
解决方案
你非常亲近。您需要paste
将文件名一起放在png
.
N <- 199
K <- N+1
x <- rep(0,N)
x[1] <- 0.5
time <- c(1:K)
G <- c(2.7, 2.9, 3.0, 3.5, 3.82, 3.83, 3.84, 3.85)
for (g in G) {
for (t in 1:N) {
x[t+1] = g*x[t]*(1-x[t])
}
png(file = paste0("graph_", g, ".png"))
plot(time,x, main = g, type="l", xlim=c(0,100), col="blue")
dev.off()
}
推荐阅读
- webgl - WebGL TRIANGLE 与 TRIANGLE_STRIP
- perl - 为什么 HTML::Element 中的look_down方法找不到
元素? - node.js - 如何从子类的 Symbol.iterator 中调用父类的 Symbol.iterator
- c# - 如何将彼此下方的多个标签文本居中到一个中心?
- java - 使用 PowerMock 测试 Thread.sleep 不起作用
- powershell - 我在 Azure Powershell(发布管道)中运行的这个 powershell 脚本中是否有一些我从根本上缺少的东西?
- bash - Bash字符串比较不断返回错误的结果
- pandas - 标签编码时保留顺序
- ios - 什么是处理“打盹”功能的好方法?
- javascript - 传单:使用移动设备在地图上获取 touchstart 或 touchmove 事件