gpt4 book ai didi

R:在多页的网格布局中绘图

转载 作者:行者123 更新时间:2023-12-03 17:46:05 32 4
gpt4 key购买 nike

我想在 PDF 文件的 3 页上安排 3x3 网格布局。我想在三个页面的任意网格位置进行绘图。我知道如何使用诸如 layout=c(3,3) 之类的选项来排列多个子图.我可以弄清楚如何使用 grid 包在单个绘图上安排 3x3 布局,然后决定选择使用哪个绘图。但是,我不知道如何在 3 页上布置 3x3 网格,然后选择要在哪个网格中绘图。

我希望grid.newpage()将解决我的问题,如下所示:

library(grid)
pdf(file="griddtest.pdf",paper="letter")
vp1 <- viewport(x = 0, y = 0.5, w = 0.5, h = 0.5, just = c("left", "bottom"),
name = "vp1")
vp2 <- viewport(x = 0, y = 0.5, w = 0.5, h = 0.5, just = c("left", "bottom"),
name = "vp2")
pushViewport(vp1)
grid.text("Some drawing in graphics region 1 on page 1",y = 0.8)
grid.newpage()
pushViewport(vp2)
grid.text("Some drawing in graphics region 2 on page 2",y = 0.8)
dev.off()

但这只会生成第二页(我猜'newpage'会覆盖旧页面,而不是创建一个新页面)。

任何帮助将不胜感激!

最佳答案

如果您有 9 个面板,并在您的布局中指定 3 个面板,例如,

xyplot(runif(9) ~ 1:9 | 1:9, layout = c(1,3))

然后你得到3个图形。为了在 GUI 窗口中绘图,绘图会被覆盖,但如果您保存为 PDF,它们会出现在连续页面上。

编辑:要使绘图仅占页面的三分之一,请将调用中绘图的高度调整为 pdf .
pdf(..., height = 3)
# ...
dev.off()

默认情况下,这会在每个页面的中心绘制每个图。通过设置 pagecentre = FALSE ,图出现在每页的底部。我在 pdf 中没有找到选项使它们出现在顶部。

为了更好地控制绘图的位置,首先将它们保存为 eps(使用 postscript 函数)或 png。

然后您可以使用 sweave创建您喜欢的 pdf 格式,包括这些文件。或者,在您选择的文字处理器中创建一个文档并手动导入图像文件。

关于R:在多页的网格布局中绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4072945/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com