0

我在这方面真的很新,我希望你能帮助我。

我试图在 a4 纸(Pageorientation:Landscape)中针对两个表格表示两个图。在这种情况下,我使用同一个表(来自 .dat 文件)来简化示例。

我开始阅读文件:

dat<-read.table("d:\\Users\\...\\xxxxxxxx.dat",header=TRUE,sep="\t")

现在我想将我的 a4papper 分成 4(2X2):

par(mfrow=c(2,2))

现在我定义我的 vectos 并表示它们:

v<- c(1,2,3,4,5,6,7,8,9,10)
z<- c(2,4,6,8,10,12,14,16,18,20)
w<- c(1,7,17,18,35,55,98,100)
q<- c(2,4,5,6,7,50,67,99)

plot(v,z)
plot(w,q)

现在我在表(X2)(带网格)中表示我的data.frame:

grid.table(dat, gpar.coretext = gpar(fontsize=6), gpar.coltext = gpar(fontsize=6), padding.h=unit(2, "mm"), padding.v=unit(2, "mm"), show.rownames = F)
grid.table(dat, gpar.coretext = gpar(fontsize=6), gpar.coltext = gpar(fontsize=6), padding.h=unit(2, "mm"), padding.v=unit(2, "mm"), show.rownames = F)

RGui 代表我:两个图(在 (1,1) 和 (1,2) 中的各自位置)和表格居中。

在做了一些研究之后,我发现 grid.table 使用了网格图形,这是一个与基本图形不兼容的系统。我想我应该使用 Gridbase、lattice 或 ggplot2,然后将其与 gridarrangement 结合起来(我不明白为什么,因为我们已经定义了我们想要一个 2X2 矩阵,所以我们的表格应该适应他的空间)。

但:

1)查看 Gridbase 和 Lattice 包我没有找到任何函数可以让我在表格/表格中表示我的 data.frame,并且像 grid.table() 这样正确地使用网格。

2)当我尝试运行我的 ggplot2 时:

loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) 中的错误:没有名为“munsell”的包错误:“ggplot2”的包或命名空间加载失败</p >

如果有人可以帮助我编写代码,我将不胜感激

最好的祝福

4

1 回答 1

2

这是一个使用 lattice 绘制的可重现示例

require(gridExtra)
require(lattice)

p = xyplot(1~1)
g = tableGrob(head(iris))

grid.arrange(p, g)

您与 ggplot2 的问题无关;如果你想使用它,你需要安装它的依赖包。

或者,请参阅此问题以了解 gridBase 方法。

于 2014-07-18T08:18:53.347 回答