在同一页上排列基本图和grid.tables

在同一页上排列基本图和grid.tables,r,pdf,r-grid,R,Pdf,R Grid,我有2个使用基本图形和2个数据框创建的绘图,我想将它们合并到一张PDF中的一张图纸上。我正在使用grid.table从数据帧创建tableGrobs。我很难格式化PDF输出。特别是,我没有成功地将所有对象保持在同一页上。我希望右面板包含一个图形,左面板包含另一个图形,以及横向格式下的两个表 目前我的代码如下所示: library('gridExtra') pdf("Rplots.pdf", paper = "USr", height = 8.5, width = 11) layout(mat

我有2个使用基本图形和2个数据框创建的绘图,我想将它们合并到一张PDF中的一张图纸上。我正在使用grid.table从数据帧创建tableGrobs。我很难格式化PDF输出。特别是,我没有成功地将所有对象保持在同一页上。我希望右面板包含一个图形,左面板包含另一个图形,以及横向格式下的两个表

目前我的代码如下所示:

library('gridExtra')

pdf("Rplots.pdf", paper = "USr", height = 8.5, width = 11)

layout(matrix(c(1,3, 2,3, 4,3), nrow = 3, ncol = 2, byrow = TRUE))

plot(myPlot1)    
grid.table(df1)    
plot(myPlot2)
grid.table(df2)

dev.off()
我不想使用ggplot2。

要组合基准图和栅格对象,程序包gridBase很有用

基于上述布局的粗略示例

library(grid)
library(gridBase)
library(gridExtra)


layout(matrix(c(1,3, 2,3, 4,3), nrow = 3, ncol = 2, byrow = TRUE))

# First base plot
plot(1:10)

# second base plot 
frame()
# Grid regions of current base plot (ie from frame)
vps <- baseViewports()
pushViewport(vps$inner, vps$figure, vps$plot)
# Table grob
grob <-  tableGrob(iris[1:2,1:2])  
grid.draw(grob)

popViewport(3)

# third base plot
plot(1:10)

# fourth
frame()
vps <- baseViewports()
pushViewport(vps$inner, vps$figure, vps$plot)  
grid.draw(grob)
popViewport(3)


你看过gridBase了吗?要把base和grid图结合起来,有人能帮你吗?谢谢我想做同样的事情,但有一个绘图和一个表。但是当我运行layoutmatrixc1,3,nrow=1,ncol=2,byrow=TRUE时,我得到了一个错误。layoutmatrixc1,3,nrow=1,ncol=2,byrow=TRUE中的错误:布局矩阵必须至少包含一个对每个值{1…3}@Quant的引用,您必须说出布局中数字所引用的每个图的位置,从最小到最大。您只有1和3,但没有2,如错误所示;但不太清楚。所以用c1,2。