生成绘图时禁止ggpairs消息

时间:2017-01-10 20:01:29

标签: r ggally

ggpairs打印出一个进度条,并在生成绘图时估计剩余时间,这在交互使用时很好,因为某些计算可能需要几秒钟。但是在制作文档时,如R笔记本,这些打印的消息最终会出现在报告中。 ggpairs had a boolean verbose option, but it's depricated now。还有其他选择吗?我似乎无法找到一个。

要查看消息,请尝试:

library(GGally) ggpairs(mtcars, columns = c("mpg", "cyl", "hp", "disp", "am", "qsec"))

在文件中最终包括:

  

情节:[1,1] [== ------------------------------------- ------] 4%est:0s

     

情节:[1,2] [==== ----------------------------------- ------] 8%est:6s

     

情节:[1,3] [===== -------------------------------- ------] 12%est:5s

     

情节:[1,4] [======= -------------------------------- ------] 16%est:5s

3 个答案:

答案 0 :(得分:5)

打印progress = FALSE图时,ggpairs参数将起作用。

ggp = ggpairs(mtcars, columns = c("mpg", "cyl", "hp", "disp"))
print(ggp, progress = F)  # no progress bar
print(ggp)  # progress bar

它也可能取决于 knit的方式。调用进度条的函数为ggmatrix_gtable,默认值为

 progress = interactive() && (pm$ncol * pm$nrow) > 15

因此,在非交互式会话中默认不会打印任何进度条。

答案 1 :(得分:3)

如果您熟悉dplyr语法,可能以下管道是最优雅的,不需要保存中间变量

mtcars %>% 
  ggpairs(columns = c("mpg", "cyl", "hp", "disp", "am", "qsec")) %>%
  print(progress = F)

答案 2 :(得分:2)

打印功能中的

'progress'参数将很快被弃用。

它可以传递给ggpairs本身:

library(GGally)
ggpairs(mtcars, 
        columns = c("mpg", "cyl", "hp", "disp", "am", "qsec"),
        progress = FALSE)

ggpairs的RStudio屏幕截图,没有进度:

ggpairs output without progress