【问题标题】:Saving dotplot to pdf in R [duplicate]在R中将点图保存为pdf [重复]
【发布时间】: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 包中的特殊命令还是在某处出现错误?

感谢您的帮助。

【问题讨论】:

    标签: pdf r plot lattice


    【解决方案1】:

    刚刚意识到我必须在 print() 中包装点图:

    plotFunc <- function(model)    
    {    
        pdf("test.pdf")    
        print(dotplot(a + b + c ~ x, data = model, type = "l", auto.key=TRUE))    
        dev.off()    
    }  
    plotFunc(df)
    

    这似乎解决了它。

    【讨论】:

    • 我觉得你也可以把它包在plot()中
    • 是的,我在发布问题后立即找到了它。在 dotplot 或 lattice 的帮助文件中的某处。
    猜你喜欢
    • 2020-01-30
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    相关资源
    最近更新 更多