用 ggtree 绘制 igraph 树对象

Posted

技术标签:

【中文标题】用 ggtree 绘制 igraph 树对象【英文标题】:Plot igraph tree objects with ggtree 【发布时间】:2015-10-05 03:28:41 【问题描述】:

使用igraph package 将树生成为图的子类是R 中的事实标准。

包ggtree 在树可视化方面非常通用。它seems 的某些绘图功能超出了igraph 的能力。

这就引出了一个问题:

有没有办法使用igraph 包(即下面的示例)生成的有效树形图对象作为ggtree 可视化的输入?

library(igraph)
g <- graph.tree(20, 2)

【问题讨论】:

【参考方案1】:

这是个好主意。

ggtree 专为系统发育分析而设计。某些功能可能无法直接应用于 igraph 等其他对象。为了使支持更顺畅,是将 igraph 对象转换为 phylo 对象。这样转换后就可以用ggtree进行可视化,支持所有功能。

转换的问题是 igraph 允许像发布的示例中那样单例,而 phylo 不允许,因为它在进化中毫无意义。

我会考虑在未来的版本中开发一个转换功能。

参考

G Yu、DK Smith、H Zhu、Y Guan、TTY Lam*。 ggtree: an R package for visualization and annotation of phylogenetic trees with their covariates and other associated data。 生态学和进化方法doi:10.1111/2041-210X.12628.

【讨论】:

我只想指出单例节点在变异树中是有意义的。我正在尝试将 ggtree 与突变树一起使用,但我在使用单例节点时遇到了困难。是否有计划扩展 ggtree 以适用于变异树?

以上是关于用 ggtree 绘制 igraph 树对象的主要内容,如果未能解决你的问题,请参考以下文章

用 igraph 绘制网络

R语言的ggtree展示进化树的一些常用操作

ggtree实现系统发育树可视化

如何在ggtree的系统发育树的同一标签中应用斜体和普通字体

使用Python-iGraph绘制好友关系图

在 igraph 中使用两个相关矩阵绘制网络