gpt4 book ai didi

r - 在多个页面上绘图

转载 作者:行者123 更新时间:2023-12-03 10:39:58 25 4
gpt4 key购买 nike

我正在尝试编写一个绘制 ggplot 的函数 facet_wrap绘制多页。这只是一个 hack,因为此功能似乎在 ggplot2 功能待办事项列表中。我做了一些小的计算来找到我需要的页数,我的 data.frame 的行数。我需要每页等等。我非常有信心这一切都有效。

pdf(filename)
for (i in seq(num_pages)){
slice = seq(((i-1)*num_rows)+1,(i*num_rows))
slice = slice[!(slice > nrow(df.merged))]
df.segment=df.merged[slice,]
p <- ggplot(df.segment, aes(y=mean,x=phenotype))
p <- p + geom_bar(stat="identity",fill="white",colour="black")
p + facet_wrap("ID",scales="free_y",ncol=n_facets,nrow=n_facets)
}
dev.off()

我的问题是,通过将它全部包装在这样的 for 循环中,在 pdf() 之间和 dev.off()功能,是 for 循环似乎没有等待 ggplot 做它的事情,并且非常快速地通过它的循环并输出无效的 PDF。

如果我设置 i = 1 ,启动 pdf() , 在 for 循环中运行上述代码,然后设置 i=2 ,然后运行代码,依此类推,直到我感到无聊( i=3 )然后关闭设备,生成的 PDF 非常棒。

有没有办法让 for 循环在进入下一次迭代之前等待最后一行完成绘图?

最佳答案

我认为问题在于您需要在最后一行 (p+ ...) 周围使用 print() 才能使其实际打印到 for loop 内的设备。 . .

关于r - 在多个页面上绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3398568/

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