我正在尝试同时打印到两个设备。我可以在很大程度上创建我想要的输出,但我不确定如何更改第一个设备的par$mfrow
设置。
pdf(file="test.all.pdf",width=7,height=10,pointsize=12,bg="white",paper="letter",pagecentre=T)
par(mfrow=c(3,2))
for(i in 1:12){
temp <- rnorm(500,i,1)
pdf(paste0("test_",i,".pdf"))
dev.control(displaylist="enable")
hist(temp)
dev.copy(which=2)
dev.off(which=3)
}
graphics.off()
我正在尝试为每个绘图获取单独的.pdf文件,然后是每页6个绘图的组合.pdf文件。相反,我只是得到一个组合的.pdf文件,每页有1个图。
我根据此post构建了我的代码。
答案 0 :(得分:0)
就像@DWin一样,我不认为这是可能的,因为你问过。 dev.copy()复制设备区域,而不是绘图,这就是为什么我认为它不能只根据一组不同的par()参数放置一个图。
在我看来,我觉得更清洁,更容易阅读和书写两次绘制每个情节。如果绘制绘图的代码非常复杂,请事先将其转换为函数。
mycomplicatedPlot <- function(x, ...){
hist(x,...)
abline(v=mean(x))
abline(v=quantile(x, probs=c(0.025, 0.975)), lty=2, col="red")
}
pdf(file="test.all.pdf",width=7,height=10,pointsize=12,bg="white",paper="letter",pagecentre=T)
par(mfrow=c(3,2))
for(i in 1:12){
temp <- rnorm(500,i,1)
pdf(paste0("test_",i,".pdf"))
mycomplicatedPlot(temp, main=i)
dev.off()
mycomplicatedPlot(temp, main=i)
}
dev.off()