我在 R 中有一些代码可以生成多页 pdf 文件:
pdf("myplot.pdf", width=8.5, height=5)
My.Plot(my.data, var1, var2)
My.Plot(my.data, var3, var2)
My.Plot(my.data, var4, var2)
dev.off()
My.Plot() 只是一个解析必要数据然后使用 ggplot 创建图形的函数
以上工作正常。但是,当我将此代码放入函数中时,不会生成任何图,并且无法读取/打开输出 PDF。
generate.PDF <- function(my.data) {
pdf("myplot.pdf", width=8.5, height=5)
My.Plot(my.data, var1, var2)
My.Plot(my.data, var3, var2)
My.Plot(my.data, var4, var2)
dev.off()
}
最佳答案
在函数中,您需要调用 print()
在 Canvas 上实际绘制的函数,如下所示:
x <- runif(20,10,20)
y <- runif(20,30,50)
data<-data.frame(x,y)
generate.PDF <- function(data) {
pdf("/home/aksel/Downloads/myplot.pdf", width=8.5, height=5,onefile=T)
plot1 <- plot(x,y)
plot2 <- plot(y,x)
plot3 <- plot(x,y*2)
print(plot1)
print(plot2)
print(plot3)
dev.off()
}
generate.PDF(data)
关于R pdf() 在函数() 中的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19288101/