这是我有很多情节的问题,我想一次一个一个地逐个修改它们。
xm <- matrix(runif(20000), ncol = 1000)
for (i in 1:ncol(xm)){
hist(xm[,i], col = i)
}
这个循环会让图表变得如此之快,以至于我将在图形设备中切开第二个以查看(或根本不看)。
答案 0 :(得分:5)
可以有几种方法:
(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)
}
请注意,R中的默认行为是grDevices::devAskNewPage(ask = FALSE)
。
(2)您想要从键盘上看到的输入图号
您可以选择要绘制的变量,这样您就可以避免按时间顺序显示绘图,或者您可以按照所需的顺序输入所需的绘图编号,并在完成后单击停止。
for (i in 1:ncol(xm)){
i <- scan(nmax=1)
hist(xm[,i], col = i, main = paste(i))
}
(3)新窗口中的所有绘图
如果您想每次制作一个新情节,可以使用:
for (i in 1:10){
hist(xm[,i], col = i, main = paste(i))
dev.new()
}
(4)单一窗口中的多个图
如果您想在一个图中绘制多个图:
par(mfrow = c(5,2))
for (i in 1:10){
hist(xm[,i], col = i, main = paste(i))
}
(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()
(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()
}
(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()
}
欢迎其他答案。