题
这个问题在这里已经有一个答案:
- GGPLOT的QPLOT在采购时不执行 1个答案
当在函数内完成此命令时,我在将点PLOT保存到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,并且两种方法都可以使用。
我如何成功将点图写入文件?我是否必须使用晶格软件包中的特殊命令,还是在某处有错误?
谢谢你的帮助。
解决方案
刚刚意识到我必须将dotplot包装在print():
plotFunc <- function(model)
{
pdf("test.pdf")
print(dotplot(a + b + c ~ x, data = model, type = "l", auto.key=TRUE))
dev.off()
}
plotFunc(df)
这似乎已经解决了。
不隶属于 StackOverflow