我有2个图(使用基本图形创建)和2个数据框,我想将它们组合到PDF中的一个工作表上。我正在使用grid.table从我的数据框创建一个tableGrobs。我在格式化PDF输出时遇到了很多困难。特别是,我没有成功将所有对象保存在同一页面上。我希望右侧面板包含一个图形,左侧面板包含另一个图形,下面有2个表格(横向格式)。
目前我的代码如下:
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。
答案 0 :(得分:17)
要合并base
图和grid
个对象,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)
哪个给出了