R pdf()函数内的用法()

Iva*_* P. 16 pdf pdf-generation r

我在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()
Run Code Online (Sandbox Code Playgroud)

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()
}
Run Code Online (Sandbox Code Playgroud)

ako*_*ako 16

在函数中,您需要调用print()函数以在画布上实际绘制,如下所示:

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)
Run Code Online (Sandbox Code Playgroud)

  • print() 做得很好。我不能使用 ggsave(),因为它不做多页 PDF (2认同)