【问题标题】:Matrix 2X2 and Gridtable formatting&layout矩阵 2X2 和网格表格式布局
【发布时间】:2014-09-09 07:05:31
【问题描述】:

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

我试图在 a4 纸(页面方向:横向)中针对两个表格表示两个图。在这种情况下,我使用同一个表(来自 .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”的包或命名空间加载失败

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

最好的问候

【问题讨论】:

  • 您的评论是正确的 Baptiste。我试图在这篇文章中让我的问题更清楚,并尝试添加一个可重现的示例(在此 stackoverflow.com/questions/5963269/… 之后)。如果您能给我一些我应该遵循的指导方针,我将不胜感激。
  • 一个可重现的例子意味着我们可以直接重现您的结果;在这种情况下,我们仍然缺少数据dat
  • 你应该关闭原来的问题,因为你已经为同一个问题打开了一个新问题,而原来的标题不再与问题对应了。
  • 好的!一个问题,我怎样才能上传我的 .dat 文件以使这个帖子可重现的例子?

标签: r plot formatting multiple-tables gridextra


【解决方案1】:

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

require(gridExtra)
require(lattice)

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

grid.arrange(p, g)

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

或者,请参阅this question 了解 gridBase 方法。

【讨论】:

    猜你喜欢
    • 2014-03-31
    • 2011-10-28
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-07
    相关资源
    最近更新 更多