1

我正在绘制数据库性能数据,主要是使用 ggplot2。有8页比较复杂的情节和2页tableGrobs。我只是对我的代码进行了检测,以确定我在哪里花费时间,总共 25 秒,其中 13 秒在最后 2 页上,即 tableGrobs。这 25 秒包括加载数据、使用 stringR 进行认真解析等。这是示例输出: https ://www.dropbox.com/s/3s6bi70py5pgpdm/PSPROD-259-341-1-plot.pdf ,尽管最后一个这些时间的页面有 75 行和 17 列。

那么,这是别人看到的吗?有没有比 tableGrob 更快的替代品?

我用来生成 SQL 表的代码是:

sqlSummaryText1 <- tableGrob(head(subset(main$DF_SQL_SUMMARY, 
                                         select=-c(PX_EXEC,LOG_READS)),75),
                             show.rownames = FALSE, 
                             gpar.coretext = gpar(fontsize=5),
                             gpar.coltext = gpar(fontsize=5),
                             padding.v = unit(1, "mm"),
                             padding.h = unit(1, "mm"),
                             show.colnames = TRUE,
                             col.just = "left", 
                             gpar.corefill = gpar(fill=NA,col=NA),
                             h.even.alpha = 0 )
grid.arrange(sqlSummaryText1,ncol = 1, widths=c(1))
4

1 回答 1

4

很难想象比 更慢的东西grid.table,几乎任何替代方案都会快得多。您可以在基本图形中使用 textplot 或 addtable2plot ,或者在 Sweave/knitr 等处理的 pdf 文档中生成表格的各种选项。

慢的主要原因grid.table是因为每个单元格都包含一个个体textGrob;对所有标签使用单一标签会更快,但通用性较差且实施起来更麻烦(请参阅本文档textGrob的示例 2 )。这里展示了一个基本的实现。

于 2013-08-29T15:22:51.860 回答