【发布时间】:2011-01-17 15:25:54
【问题描述】:
在函数内部执行此命令时,我无法将点图保存为 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 包中的特殊命令还是在某处出现错误?
感谢您的帮助。
【问题讨论】: