我目前正在尝试创建一个图,在图的顶部7/8中具有一个系数的条形图,在底部1/8中具有统计信息的表。创建图后,我将其保存到pdf文件中,该文件一直与ggsave()一起使用,并希望保留该功能。该程序最初是为条形图构建的,我将添加到统计信息表中。
我对如何实现这一目标不知所措,或者我什至没有想到正确的方法。
最初,我尝试过:
tablestats <- grid.table(stats, rows = NULL)
grid.arrange(plt, tablestats, nrow = 2)
但是我不能在上面的函数中使用非grob。
然后我尝试:
layout(matrix(c(1, 1, 1, 1, 1, 1, 2, 2, 2), 3, 3, byrow = TRUE))
plt <- plt + tablestats
print(plt)
但这只会绘制条形图。
我也尝试了par(mfrow())方法,但是在绘图时它似乎忽略了表格。
答案 0 :(得分:1)
我认为这里的问题是您必须使用IntegerField
来定义 tablestats 而不是tableGrob()
。
如R: gridExtra - How to plot a Summary as table?中所述:
要使用grid.arrange组合不同的表/图,需要 格格不入(栅格对象)。因此您无法传递来自 grid.table到grid.arrange,因为它不是grob(它实际上绘制了 tableGrob直接)。为此,您需要传递tableGrob。
此后,您可以像以前一样使用grid.table()
。