这是一个问题,我有很多情节,我想一步一步地逐个修改它们.
xm <- matrix(runif(20000), ncol = 1000)
for (i in 1:ncol(xm)){
hist(xm[,i], col = i)
}
Run Code Online (Sandbox Code Playgroud)
这个循环将使得图表如此之快,以至于我将在图形设备中切开第二个以查看(或根本不看).
可以有几种方法:
(1)逐个看图 - 按返回键查看下一个图
我们可以创建一个中断,用户可以使用返回键来查看下一个图.
xm <- matrix(runif(20000), ncol = 1000)
for (i in 1:ncol(xm)){
hist(xm[,i], col = i, main = paste(i))
grDevices::devAskNewPage(ask = TRUE)
}
Run Code Online (Sandbox Code Playgroud)
请注意,R中的默认行为是 grDevices::devAskNewPage(ask = FALSE)
.
(2)您想要从键盘看到的输入图号
您可以选择要绘制的变量,这样可以避免按时间顺序显示绘图,或者您可以按照所需的顺序输入所需的绘图编号,并在完成后单击停止.
for (i in 1:ncol(xm)){
i <- scan(nmax=1)
hist(xm[,i], col = i, main = paste(i))
}
Run Code Online (Sandbox Code Playgroud)
(3)新窗口中的所有图
如果您想每次制作一个新的情节,您可以使用:
for (i in 1:10){
hist(xm[,i], col = i, main = paste(i))
dev.new()
}
Run Code Online (Sandbox Code Playgroud)
(4)单窗口多个图
如果您想在单个图中绘制多个图:
par(mfrow = c(5,2))
for (i in 1:10){
hist(xm[,i], col = i, main = paste(i))
}
Run Code Online (Sandbox Code Playgroud)
(5)在单独的页面中有多个图的Pdf文件
将文件另存为PDF或其他格式的另一种方法:
以下将创建输出PDF将所有数字放在不同的页面中,然后可以向下滚动.
pdf("outtrtt.pdf",width=7,height=5)
for (i in 1:ncol(xm)){
hist(xm[,i], col = i, main = paste(i))
}
dev.off()
Run Code Online (Sandbox Code Playgroud)
(6)每个情节单独的pdf文件
或者,如果要根据绘图或其他图像文件类型将输出创建为单个PDF文件,则可以这样做.请注意,这在mac和windows中可能有所不同.
for (i in 1:ncol(xm)){
pdf(paste("var", i, ".pdf", sep = ""),width=7,height=5)
hist(xm[,i], col = i, main = paste(i))
dev.off()
}
Run Code Online (Sandbox Code Playgroud)
(7)单独的图像文件
您可以保存为jpeg或您选择的其他格式
for (i in 1:ncol(xm)){
jpeg(paste("var", i, ".jpeg", sep = ""),width=700,height=500)
hist(xm[,i], col = i, main = paste(i))
dev.off()
}
Run Code Online (Sandbox Code Playgroud)
其他答案是受欢迎的.