将绘图保存到变量而不在屏幕中绘制它们

时间:2017-10-18 21:54:50

标签: r

我实现了以下函数,该函数返回一个累积图表列表,表示具有特定条件(data1)与丢失条件(data2)之间的数据比较

  library("pryr")   
 myCumulativePlot <- function (data1,data2){
      for(x in 1:10){
        a%<a-% {
        plot(ecdf(data1[x,]),col="red",lwd = 2,verticals = TRUE, do.points = FALSE)
        legend("topleft",c("Enriched","Depleted"),lwd=c(2.5,2.5),col=c("red","blue"))
        lines(ecdf(data2[x,]),col="blue",xaxt='n',yaxt='n', ann=FALSE,lwd = 2,verticals = TRUE, do.points = FALSE)
        }
        myData[[x]]=a
    }
    return(myData)
    }

该函数按预期工作,列表包含我的所有累积图,但是,它非常慢,因为它也将图输出到屏幕(图形窗口),但如果我单独运行循环它不会绘制到屏幕(这就是为什么我首先使用“pryr”包)。 所有我想要的是在调用我的函数“myCumulativePlot”时取消这个绘图到屏幕,我知道ggplot可能是一个解决方案但我需要使用plot命令因为我使用“ecdf(累积分布函数)”命令只能工作在R中的情节 我也尝试过“recordPlot()”,但在调用函数

时遇到了同样的问题

0 个答案:

没有答案