0

我正在尝试将绘图和表格安排在一起,但是表格的顶部和侧面都被切断了。

library(ggplot2)
library(grid)
library(gridExtra)

# Generate example data
plot.data <- cbind(c(1,2,3,4,5,6,7,8,9), c(2,2,2,3,3,3,4,4,4))
colnames(plot.data) <- c("the.x", "the.y")
plot.data <- data.frame(plot.data)
p <- ggplot(plot.data, aes(x=the.x, y=the.y))
p <- p + geom_line()
table.1.data <- cbind("quitelongparametertext", seq(from=1, to=15), seq(from=21, to=35))
colnames(table.1.data) <- c("parameter", "data.1", "data.2")
table.1.data <- data.frame(table.1.data)
table.2.data <- cbind("shortertext", seq(from=1, to=3), seq(from=11, to=13), seq(from=21, to=23), seq(from=31, to=33), seq(from=41, to=43), seq(from=51, to=53))
colnames(table.2.data) <- c("parameter", "data.1", "data.2", "data.3", "data.4", "data.5", "data.6")
table.2.data <- data.frame(table.2.data)
t1 <- tableGrob(table.1.data, show.rownames=F)
t2 <- tableGrob(table.2.data, show.rownames=F)

# Print together
print(arrangeGrob(p, arrangeGrob(t1, t2, nrow=2), ncol=2, widths=c(1,1)))

绘图的文本相应地调整大小,但如何对表格进行同样的操作?

4

1 回答 1

1

这个解决方案非常丑陋,但它确实有效。我只是弄乱了heightsandwidths参数中的数字,直到我得到适合窗口的东西。

print(arrangeGrob(p, arrangeGrob(t1, t2, nrow=2, heights=c(1, 1/2.7)), widths=c(1/3.3,3/4.4),ncol=2))

如果我要花更多时间在这上面,我会研究?viewport

于 2013-11-04T15:39:41.143 回答