2

我想绘制两个直方图并将表格添加到 pdf 文件中。使用布局函数,我设法将直方图(使用 hist 函数绘制)绘制在我想要的位置,但是当我使用 gridExtra 包中的 grid.table 函数添加表格时,表格被布置在直方图上,我是无法正确定位它们。我已经尝试过 addtable2plot 功能,但我觉得它在视觉上并不吸引人。

关于如何解决这个问题的任何想法?

我希望我的 pdf 看起来像这样

histogram1 histogram2
t    a    b   l     e 

本质上,一行有两列,另一行只有一列。这就是我所做的。

require(gridExtra)
layout(matrix(c(1,2,3,3),2,2,byrow=T),heights=c(1,1))
count_table=table(cut(tab$Longest_OHR,breaks=c(0,0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65,0.70,0.75,0.80,0.85,0.90,0.95,1.00)))
ysize=max(count_table)+1000
hist(tab$Longest_OHR,xlab="OHR longest",ylim=c(0,ysize))

count_table=table(cut(tab$Sum_of_OHR.s,breaks=c(0,0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65,0.70,0.75,0.80,0.85,0.90,0.95,1.00)))
ysize=max(count_table)+1000
hist(tab$Sum_of_OHR.s,xlab="OHR Sum",ylim=c(0,ysize))

tmp <- table(cut(tab$Length_of_Gene.Protein, breaks = c(0,100,200,500,1000,2000,5000,10000,1000000000)), cut(tab$Sum_of_OHR.s, breaks = (0:10)/10))
grid.table(tmp)
dev.off()

任何帮助将不胜感激。

内存

4

1 回答 1

3

这是一个如何在同一个图中组合两个base图和 a的示例。grid.table

library(gridExtra)

layout(matrix(c(1,0,2,0), 2))
hist(iris$Sepal.Length, col="lightblue")
hist(iris$Sepal.Width, col="lightblue")

pushViewport(viewport(y=.25,height=.5))
grid.table(head(iris), h.even.alpha=1, h.odd.alpha=1,
           v.even.alpha=0.5, v.odd.alpha=1)

发送到的坐标viewport是面板的中心。也可以准确地看到它的边界在哪里grid.rect()

在此处输入图像描述

于 2013-11-07T15:03:37.047 回答