R 中多个图的一个处理程序(没有 ggplot)

One handler for multiple plots in R (without ggplot)

我有一个函数可以根据数据文件绘制 4 个图表,每个图表位于 pdf 文件的不同页面中。目前,我需要为所有这些图获取一个处理程序,我的意思是我更喜欢我的函数 returns 为所有这些图提供一个处理程序,而不是将它们保存为 pdf 文件。可能吗?

需要注意的是我用的是plot(.),不是ggplot2

谢谢。

您可以将绘图函数与其参数分开,例如:

do_plot <- function(formula, dat) {
    plot(formula, data=dat)
    # other plotting commands go here
} 

handle <- list(
  fun=do_plot, 
  arg=list(formula="Sepal.Length~Sepal.Height", data=iris)
)

要实际绘图,您将使用 do.call:

do.call(handle$fun, handle$arg)