当我在函数内部执行保存点图到PDF的命令时,遇到了问题。
正常调用时,它可以正常工作:
df <- data.frame(a = runif(10), b = runif(10), c = runif(10), x = 1:10)
pdf("test.pdf")
dotplot(a + b + c ~ x, data = df, type = "l", auto.key=TRUE)
dev.off()
但是如果这段代码在一个函数中,它将无法正常工作,并且只会生成一个空文件。
plotFunc <- function(model)
{
pdf("test.pdf")
dotplot(a + b + c ~ x, data = model, type = "l", auto.key=TRUE)
dev.off()
}
plotFunc(df)
然而,如果没有文件命令调用该函数,将成功地打印到图形窗口中:
plotWinFunc <- function(model)
{
dotplot(a + b + c ~ x, data = model, type = "l", auto.key=TRUE)
}
plotWinFunc(df)
这让我相信dotplot()在输出到文件时出了问题。文件类型并不重要,我已经尝试过bmp和pdf,但两种方法都不起作用。
我该如何成功地将一个点图写入文件?我是否需要使用lattice包中的特殊命令或者我在哪里犯了错误?
感谢您的任何帮助。