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

问题描述 投票:1回答:1

所以这是我的问题:如果我在全局环境中运行以下内容,一切都按预期工作:

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()启动的设备

r plot xts
1个回答
0
投票

当你进入一个功能时,你必须使用“打印”。

plot_test <- function(){
    pdf("~/test.pdf")
    print(plot.xts(xts(x = runif(10), order.by = Sys.Date() + 0:9)))
    dev.off()
}
plot_test()
© www.soinside.com 2019 - 2024. All rights reserved.