在R中的ggplot geom_bar图表的底部添加统计信息表

时间:2019-05-10 19:49:40

标签: r ggplot2

我目前正在尝试创建一个图,在图的顶部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())方法,但是在绘图时它似乎忽略了表格。

有人对构建类似或类似的东西有任何建议吗? Ideal plot layout

1 个答案:

答案 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()