我正在尝试将系统发育树排列到显示一组相关生物的生理数据的图表上。类似于下图。这是从 2 个单独的图表放在 powerpoint 中的。我想它可以完成工作,但我希望创建一个我认为更容易格式化为文档的单个图像。我能够使用 ggplot2 生成我想要的图形,并使用 ape 导入树。我在想应该有一种方法可以将树保存为图形对象,然后使用 gridExtra 中的 gridarrange 函数将其与图形一起排列。问题是猿不会让我将树保存为图形对象,例如,

p2<-plot(tree, dir = "u", show.tip.label = FALSE)

只是绘制树,当你调用 p2 时,它只给出一个参数列表。我想知道是否有人有任何提示。

谢谢!

最佳答案

我不确定这是否适用于 CRAN 的 gtable

require(ggplot2)
require(gridBase)
require(gtable)

p <- qplot(1,1)
g <- ggplotGrob(p)

g <- gtable_add_rows(g, unit(2,"in"), nrow(g))
g <- gtable_add_grob(g, rectGrob(),
                     t = 7, l=4, b=7, r=4)

grid.newpage()
grid.draw(g)

#grid.force()
#grid.ls(grobs=F, viewports=T)
seekViewport("layout.7-4-7-4")
par(plt=gridPLT(), new=TRUE)
plot(rtree(10), "c", FALSE, direction = "u")
upViewport()

关于r - 结合系统发育树和 x,y 图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17798898/

10-12 19:23