在R中绘图:如何在函数内使用plot.xts生成pdf

时间:2019-04-03 14:18:12

标签: r plot xts

这就是我的问题:如果我在全局环境中运行以下命令,一切都会按预期进行:

pdf("~/test.pdf")
plot.xts(xts(x = runif(10), order.by = Sys.Date() + 0:9))
dev.off()

但是,我想通过函数将xts图输出到pdf,即

plot_test <- function(){
    pdf("~/test.pdf")
    plot.xts(xts(x = runif(10), order.by = Sys.Date() + 0:9))
    dev.off()
}
plot_test()

我的问题是,当我这样做时,结果pdf为空。这个问题似乎特定于plot.xts,因为以这种方式实现时,R的内置绘图功能确实起作用。

我尝试摆弄dev.set,dev.new等,但无法找出问题所在。我假设它与plot.xts有关,而不是写入pdf()启动的设备。

1 个答案:

答案 0 :(得分:0)

在函数内部时,您必须使用“打印”。

plot_test <- function(){
    pdf("~/test.pdf")
    print(plot.xts(xts(x = runif(10), order.by = Sys.Date() + 0:9)))
    dev.off()
}
plot_test()