我正在使用一些R代码生成许多图像作为png文件; 但是,一个Rplots.pdf
文件继续在工作目录中生成,有没有办法防止这种情况发生?
library(Cairo)
CairoPNG(file = "graphs.png")
nf <- layout(matrix(c(1:8), 2, 4, byrow=T), c(1, 1), c(1, 1, 1, 1), TRUE)
for (k in 1:num.k) {
plotMatrix(connect.matrix.ordered[k,,], log = F, main = paste("k=", k.vector[k]), sub = paste("Cophenetic coef.=", rho[k]), ylab = "samples", xlab ="samples")
}
y.range <- c(1 - 2*(1 - min(rho)), 1)
plot(k.vector, rho, main ="Cophenetic Coefficient", xlim=c(k.init, k.final), ylim=y.range, xlab = "k", ylab="Cophenetic correlation", type = "n")
lines(k.vector, rho, type = "l", col = "black")
points(k.vector, rho, pch=22, type = "p", cex = 1.25, bg = "black", col = "black")
dev.off()
Run Code Online (Sandbox Code Playgroud)
Aar*_*ica 11
我想知道你是否有另一个命令在你给我们的代码片段之前或之后打开一个设备.当你完成所有操作后dev.cur()
,看看是否有设备保持打开状态.如果没有,它应该返回null设备.
以下是您可以重新创建a Rplots.pdf
或a的方法Rplot001.png
; 在layout
与par
命令打开设备如果是不公开的,因为没有文件名已经给出,它使用默认的文件名.
options(device="pdf")
layout(1:4)
dev.off()
options(device="png")
par()
dev.off()
Run Code Online (Sandbox Code Playgroud)
也许看到这里发生的事情会让你知道你的代码发生了什么.
sig*_*eta 11
我知道这是一个非常古老的帖子,OP肯定已经解决了这个问题.但我在使用情节时遇到了类似的情况.将ggplot输出转换为plotly输出会产生类似的错误,即无法打开文件'Rplots.pdf'.
我通过简单地包括:
pdf(NULL)
Run Code Online (Sandbox Code Playgroud)
我不确定错误的原因,无法弄清楚,但是这条小线帮助消除错误并显示我的情节,正如我在plotly和ggplot组合中所期望的那样.